当前位置: 首页 > 知识库问答 >
问题:

STD::experimental::file system::v1::status链接错误,即使在-lstdc标志之后

柯昆
2023-03-14

我尝试使用c1z特性来使用std::experimental::filesystem

在用g添加-lstdc-fs标志之后,我可以看到我能够将std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()与我的程序链接起来。

i、 e我不会再犯这个错误了

sdc.cpp:(.文本 0x7e5): 未定义对“标准:实验::文件系统::v1::__cxx11::p:_M_split_cmpts()” 的引用

但是,即使在链接后,我也会收到以下错误。

g -std=c 1z timer.cpp -lstdc fs -O2 -I include -L lib -lOpenTimer -lpthread -o timer.out lib/libOpenTimer.a(spef.cpp.o): In function spef::Spef::read(std::实验::文件系统::v1::__cxx11::p ath const

任何帮助解决这一问题将不胜感激。


共有2个答案

宗项禹
2023-03-14

-lstdc fs 标志应在链接器命令的尾部传递。

使用CMake:

这项工作:

target_link_libraries(your_project stdc++fs)

这不会:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -lstdc++fs")
路伟
2023-03-14

是我发布了这个问题。看来我能够自己解决它。

我在末尾而不是中间添加了-lstdc fs,它开始工作了。

下面是更新后的命令

g-std=c 1z timerapp。cpp-O2-Iinclude-L lib-lOpenTimer-lpthread-o timer。输出-lstdc fs

与前一个命令相比

g-STD = c1z timer app . CPP-lstdc fs-O2-I include-L lib-lOpenTimer-LP thread-o timer . out

我不知道为什么一些链接标志会被添加到最后。

 类似资料:
  • 我正在做一个项目,我在其中使用协议buf。我安装了3.1.0版。 我写了一个程序来测试Prorobuf中的序列化,看起来像这样 我用构建脚本编译了它。下面的命令是lpthread MIST。cpp-lprotobuf-o a.o 此命令成功退出。 然后,我尝试用命令链接a.o,得到以下错误 我不确定如何可以有未定义的引用来包含我已经编译过的文件,或者当我同时包含-L/usr/local/lib和-

  • 路径与之间可以隐式转换,这使得可以将它们与over files API一起使用,例如作为的参数 现在很容易看到到的转换,因为它有一个接受类型的非显式构造函数。但是,我似乎找不到隐式地转到的方法。 有一个函数,但它是,而不是。使用 这段代码可以很好地编译icc、gcc和clang,但不能编译MSVS,在MSVS中会出现错误: 那么,哪个编译器是对的呢?是否存在隐式转换序列,或者编译器只是有所帮助?

  • 问题内容: 我在运行节点应用程序时使用该标志以使用ES6模块。 但是,当我使用此标志时,该元变量不可用。是否存在另一种方法来获取与该模式兼容的存储在其中的相同字符串? 问题答案: 从Node.js 10.12开始,有一种替代方案,不需要跨平台创建多个文件并处理文件名中的特殊字符:

  • 我跟随YouTube教程用C构建FPS游戏,但遇到了一个无法解决的错误;链接器错误LNK2019: 错误1错误LNK2019:未解析的外部符号"public:__thiscallVector3d::~Vector3d(val)"(??1Vector3d@@QAE@XZ)引用在函数"class std::basic_ostream 我需要做什么来解决这个问题? 这是我在Vector3d中声明的类。h

  • 根据在线教程,我尝试使用Swing在java中创建一个GUI。我试着在网上找一个排水沟,但我找不到。代码如下: 但是,当我尝试使用JGraph运行代码时,我会遇到以下错误: River.java:4:错误:找不到符号导入javax.swing.container;^symbol:类容器位置:包javax.swing River.java:8:错误:包javax不存在,导入javax.swing;^

  • Sonarqube说这段代码中有两个主要错误,在if条件下的第二条语句中。 第一: 可以抛出“NullPointerException”;“getResponseHeaders()”可以返回null。 第二个: 取消引用“get响应头()”的结果 有没有办法,我可以更改代码来避免这个bug?