gpt4 book ai didi

c++11 - fatal error -没有此类文件或目录

转载 作者:行者123 更新时间:2023-12-02 11:01:56 25 4
gpt4 key购买 nike

我已经在./build.sh -b 64 -z '-std=c++0x' -l '-L /usr/lib/x86_64-linux-gnu' --with-boost /usr/include/boost --amd64-use-128bit文件夹中使用命令build安装了cds库。

在尝试编译init.cpp文件夹的示例src之后,我在终端:g++ init.cpp -o init中键入了此代码,终端显示了:fatal error: cds/init.h: No such file or directory

在这种情况下,应该为编译命令做什么?
谢谢。

最佳答案

对于这种情况下的常规故障排除,我建议找到文件在系统上的什么位置安装(如果build.sh实际上安装了该文件)。您将能够使用以下命令找到丢失的头文件

find / -path '*/cds/init.h' 2>/dev/null

然后,您需要为g++提供两个参数:

第一个让编译器从安装目录中了解包含文件

-I path_to_folder_one_step_above_cds_folder

第二个让链接器了解库的位置。如果该库文件名为libcds.so,则可以通过运行找到它
find / -name libcds.so 2>/dev/null

因此,对于链接,您需要提供标志

-L path_to_folder_one_step_above_libcds.so

在您的情况下,您可能不需要-L标志,因为据说您的大多数库仅是 header 。

更新:build.sh脚本从“使用以下选项进行构建:”开始在顶部打印出重要信息。重要的位将是“编译选项:”和“链接选项:”。这些应该足以解决您的特定选择。

UPDATE2:build.sh还导出一些标志,这些标志可能包含更多选项。您可以在运行build.sh之后直接将它们打印出来
echo LDFLAGS=$LDFLAGS
echo CFLAGS=$CFLAGS
echo CXXFLAGS=$CXXFLAGS

在针对该库进行编译和链接时,您可能需要将所有这些选项传递给g++。 LDFLAGS仅特定于链接器。其他两个都是编译c++文件所必需的。

关于c++11 - fatal error -没有此类文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35470962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com