编译和链接不工作 ubuntu 17.10/clang
compiling and linking is not working ubuntu 17.10/clang
我无法 link 并编译 AWS SDK,出现以下 link 错误:
/usr/bin/ld: CMakeFiles/ns_api.dir/src/main.cpp.o: undefined
reference to symbol '_ZN3Aws4FreeEPv'
/usr/bin/ld: //deps/aws_sdk/aws-cpp-sdk-core/libaws-cpp-sdk-
core.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/ns_api.dir/build.make:95: ns_api] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/ns_api.dir/all]
Error 2
make: *** [Makefile:84: all] Error 2
此外,我似乎需要用 aws-sdk-cpp_DIR
指定构建目录,即使我做了 make install
- 这不应该把库放在系统库目录中吗?
我安装的包如下:
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING="FALSE" -DBUILD_ONLY="s3" . && make install -j8
我的印象是这个问题应该不会出现,因为我完全按照隔离的 ubuntu 环境中的安装说明进行操作
请指教
非常感谢!
想在这里跟进我自己的回答:
target_link_libraries( ... aws-cpp-sdk-core aws-cpp-sdk-s3 ... )
在我的 cmake 文件中是必需的
在其他安装中不需要为链接器添加核心库,所以这对我来说造成了很多混乱。
我无法 link 并编译 AWS SDK,出现以下 link 错误:
/usr/bin/ld: CMakeFiles/ns_api.dir/src/main.cpp.o: undefined
reference to symbol '_ZN3Aws4FreeEPv'
/usr/bin/ld: //deps/aws_sdk/aws-cpp-sdk-core/libaws-cpp-sdk-
core.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/ns_api.dir/build.make:95: ns_api] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/ns_api.dir/all]
Error 2
make: *** [Makefile:84: all] Error 2
此外,我似乎需要用 aws-sdk-cpp_DIR
指定构建目录,即使我做了 make install
- 这不应该把库放在系统库目录中吗?
我安装的包如下:
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING="FALSE" -DBUILD_ONLY="s3" . && make install -j8
我的印象是这个问题应该不会出现,因为我完全按照隔离的 ubuntu 环境中的安装说明进行操作
请指教
非常感谢!
想在这里跟进我自己的回答:
target_link_libraries( ... aws-cpp-sdk-core aws-cpp-sdk-s3 ... )
在我的 cmake 文件中是必需的
在其他安装中不需要为链接器添加核心库,所以这对我来说造成了很多混乱。