【发布时间】:2017-11-12 14:15:39
【问题描述】:
我需要在我的项目中添加一个“实验/文件系统”标头
#include <experimental/filesystem>
int main() {
auto path = std::experimental::filesystem::current_path();
return 0;
}
所以我使用了 -lstdc++fs 标志并与 libstdc++fs.a 链接
cmake_minimum_required(VERSION 3.7)
project(testcpp)
set(CMAKE_CXX_FLAGS "-std=c++14 -lstdc++fs" )
set(SOURCE_FILES main.cpp)
target_link_libraries(${PROJECT_NAME} /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++fs.a)
add_executable(testcpp ${SOURCE_FILES})
但是,我有下一个错误:
CMakeLists.txt:9 (target_link_libraries) 处的 CMake 错误:不能 为不是由
构建的目标“testcpp”指定链接库 这个项目。
但是如果我直接编译就OK了:
g++-7 -std=c++14 -lstdc++fs -c main.cpp -o main.o
g++-7 -o main main.o /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++fs.a
我的错误在哪里?
【问题讨论】: