llmapi项目在使用xmake构建时无法找到std.cc
已锁定
已解决
现代C++ | mcpp论坛
-
在构建llmapi时, 使用xlings安装依赖后, 使用xmake构建项目时遇到了无法找到std.cc的错误.
我已经测试了我的gcc15是完整的, 可以编译一个简单的使用import std;的hello world源文件(需要预先在同目录下编译std模块到gcm.cache/std.gcm).
我的std.cc位于/usr/include/c++/15/bits/std.cc, 但xmake的默认查找目录貌似不包含这里(其默认查找目录包含在下面的输出中).
请问如何能使xmake能够找到我的std.cc? 谢谢.
以下是xmake的输出:mikami@LAPTOP-BU4O7VF4:~/works/cpp/llmapi$ xmake f -c --cc=gcc-15 --cxx=g++-15 --ld=g++-15 checking for platform ... linux checking for architecture ... x86_64 mikami@LAPTOP-BU4O7VF4:~/works/cpp/llmapi$ xmake -v checking for flags (-std=c++23) ... ok checking for flags (-D_GLIBCXX_USE_CXX11_ABI=1) ... ok checking for flags (-fPIC) ... ok checking for flags (gcc_deps_format) ... ok checking for flags (gcc_deps_file) ... ok checking for flags (gcc_deps_output) ... ok [ 0%]: <basic> scanning.module.deps examples/basic.cpp g++-15 -E -x c++ -m64 -std=c++23 -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 examples/basic.cpp -MT build/.gens/basic/linux/x86_64/release/rules/bmi/cache/scans/35338703ed02bf94/basic.cpp.json -MD -MF build/.gens/basic/linux/x86_64/release/rules/bmi/cache/scans/35338703ed02bf94/basic.cpp.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/basic/linux/x86_64/release/rules/bmi/cache/scans/35338703ed02bf94/basic.cpp.json -fdeps-target=build/.objs/basic/linux/x86_64/release/examples/basic.cpp.o -o build/.gens/basic/linux/x86_64/release/rules/bmi/cache/scans/35338703ed02bf94/basic.cpp.i [ 0%]: <llmapi> scanning.module.deps /usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.cc g++-15 -E -x c++ -m64 -std=c++23 -Isrc/json -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fPIC -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 /usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.cc -MT build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.json -MD -MF build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.json -fdeps-target=build/.objs/llmapi/linux/x86_64/release/usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.cc.o -o build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.i [ 0%]: <llmapi> scanning.module.deps /usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.compat.cc g++-15 -E -x c++ -m64 -std=c++23 -Isrc/json -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fPIC -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 /usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.compat.cc -MT build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/59b1871094e55311/std.compat.cc.json -MD -MF build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/59b1871094e55311/std.compat.cc.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/59b1871094e55311/std.compat.cc.json -fdeps-target=build/.objs/llmapi/linux/x86_64/release/usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.compat.cc.o -o build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/59b1871094e55311/std.compat.cc.i cc1plus: fatal error: /usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.cc: No such file or directory [ 0%]: <llmapi> scanning.module.deps src/llmapi.cppm compilation terminated. g++-15 -E -x c++ -m64 -std=c++23 -Isrc/json -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fPIC -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 src/llmapi.cppm -MT build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/17508e67bf332195/llmapi.cppm.json -MD -MF build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/17508e67bf332195/llmapi.cppm.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/17508e67bf332195/llmapi.cppm.json -fdeps-target=build/.objs/llmapi/linux/x86_64/release/src/llmapi.cppm.o -o build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/17508e67bf332195/llmapi.cppm.i [ 0%]: <llmapi_c> scanning.module.deps src/c/llmapi.cpp cc1plus: fatal error: /usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.compat.cc: No such file or directory compilation terminated. g++-15 -E -x c++ -m64 -std=c++23 -Iinclude -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 src/c/llmapi.cpp -MT build/.gens/llmapi_c/linux/x86_64/release/rules/bmi/cache/scans/c38b032c56682194/llmapi.cpp.json -MD -MF build/.gens/llmapi_c/linux/x86_64/release/rules/bmi/cache/scans/c38b032c56682194/llmapi.cpp.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi_c/linux/x86_64/release/rules/bmi/cache/scans/c38b032c56682194/llmapi.cpp.json -fdeps-target=build/.objs/llmapi_c/linux/x86_64/release/src/c/llmapi.cpp.o -o build/.gens/llmapi_c/linux/x86_64/release/rules/bmi/cache/scans/c38b032c56682194/llmapi.cpp.i [ 0%]: <llmapi> scanning.module.deps src/url.cppm g++-15 -E -x c++ -m64 -std=c++23 -Isrc/json -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fPIC -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 src/url.cppm -MT build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/92c8c3ac0896bf6f/url.cppm.json -MD -MF build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/92c8c3ac0896bf6f/url.cppm.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/92c8c3ac0896bf6f/url.cppm.json -fdeps-target=build/.objs/llmapi/linux/x86_64/release/src/url.cppm.o -o build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/92c8c3ac0896bf6f/url.cppm.i [ 0%]: <llmapi> scanning.module.deps src/openai.cppm g++-15 -E -x c++ -m64 -std=c++23 -Isrc/json -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fPIC -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 src/openai.cppm -MT build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/fda3541d3c0ca884/openai.cppm.json -MD -MF build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/fda3541d3c0ca884/openai.cppm.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/fda3541d3c0ca884/openai.cppm.json -fdeps-target=build/.objs/llmapi/linux/x86_64/release/src/openai.cppm.o -o build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/fda3541d3c0ca884/openai.cppm.i [ 0%]: <llmapi> scanning.module.deps src/json/json.cppm g++-15 -E -x c++ -m64 -std=c++23 -Isrc/json -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fPIC -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 src/json/json.cppm -MT build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/549d005a115b5f07/json.cppm.json -MD -MF build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/549d005a115b5f07/json.cppm.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/549d005a115b5f07/json.cppm.json -fdeps-target=build/.objs/llmapi/linux/x86_64/release/src/json/json.cppm.o -o build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/549d005a115b5f07/json.cppm.i [ 0%]: <hello_mcpp> scanning.module.deps examples/hello_mcpp.cpp g++-15 -E -x c++ -m64 -std=c++23 -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 examples/hello_mcpp.cpp -MT build/.gens/hello_mcpp/linux/x86_64/release/rules/bmi/cache/scans/55ccf37cb527a7b6/hello_mcpp.cpp.json -MD -MF build/.gens/hello_mcpp/linux/x86_64/release/rules/bmi/cache/scans/55ccf37cb527a7b6/hello_mcpp.cpp.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/hello_mcpp/linux/x86_64/release/rules/bmi/cache/scans/55ccf37cb527a7b6/hello_mcpp.cpp.json -fdeps-target=build/.objs/hello_mcpp/linux/x86_64/release/examples/hello_mcpp.cpp.o -o build/.gens/hello_mcpp/linux/x86_64/release/rules/bmi/cache/scans/55ccf37cb527a7b6/hello_mcpp.cpp.i [ 0%]: <chat> scanning.module.deps examples/chat.cpp g++-15 -E -x c++ -m64 -std=c++23 -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 examples/chat.cpp -MT build/.gens/chat/linux/x86_64/release/rules/bmi/cache/scans/6eeaedd8b724c8ce/chat.cpp.json -MD -MF build/.gens/chat/linux/x86_64/release/rules/bmi/cache/scans/6eeaedd8b724c8ce/chat.cpp.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/chat/linux/x86_64/release/rules/bmi/cache/scans/6eeaedd8b724c8ce/chat.cpp.json -fdeps-target=build/.objs/chat/linux/x86_64/release/examples/chat.cpp.o -o build/.gens/chat/linux/x86_64/release/rules/bmi/cache/scans/6eeaedd8b724c8ce/chat.cpp.i error: execv(g++-15 -E -x c++ -m64 -std=c++23 -Isrc/json -isystem /home/mikami/.xmake/packages/l/libcurl/8.11.0/65e7361bb5ef4bb4973edb832c4b9fd1/include -fPIC -fmodules -D_GLIBCXX_USE_CXX11_ABI=1 /usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.cc -MT build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.json -MD -MF build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.d -fdeps-format=p1689r5 -fdeps-file=build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.json -fdeps-target=build/.objs/llmapi/linux/x86_64/release/usr/lib/gcc/x86_64-linux-gnu/include/c++/15/bits/std.cc.o -o build/.gens/llmapi/linux/x86_64/release/rules/bmi/cache/scans/922d87335b137076/std.cc.i) failed(1) -
@mikami-w 编译一个最小的 import std.compat; 程序 可以通过吗
-
感觉可能和gcc工具链有关
llmapi我好想忘记加xlings的依赖描述文件了, d2x是加了的
可以, 手动使用xlings install gcc@15.1安装gcc15
然后在项目目录清除一下缓存xmake clean rm .xmake build -r xlings install gcc@15.1 g++ --version xmake build如果上面过程出现问题 可以在把log贴上来
-
llmapi 和 xlings 都算是初期项目, 有什么问题或想法都可以反馈到项目issue里
-
,
S sunrisepeak 将这个主题转为问答主题
-
,
S sunrisepeak 将这个主题标记为已解决
