我无法通过以下链接错误链接和编译AWS开发工具包:
/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
指定构建目录-这是否应该将lib放在系统lib目录中?
我按如下所示安装了软件包:
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING="FALSE" -DBUILD_ONLY="s3" . && make install -j8
我的印象是,鉴于我完全在隔离的ubuntu环境中遵循安装说明,因此不应出现此问题
请告知
非常感谢您!
答案 0 :(得分:0)
想在这里跟进我自己的答案:
target_link_libraries(... aws-cpp-sdk-core aws-cpp-sdk-s3 ...)
我的cmake文件中需要
在其他安装中不需要为链接程序添加核心库,因此这给我造成了很多混乱。