编译和链接无法正常工作ubuntu 17.10 / clang

时间:2018-08-14 19:37:06

标签: aws-sdk-cpp

我无法通过以下链接错误链接和编译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环境中遵循安装说明,因此不应出现此问题

请告知

非常感谢您!

1 个答案:

答案 0 :(得分:0)

想在这里跟进我自己的答案:

target_link_libraries(... aws-cpp-sdk-core aws-cpp-sdk-s3 ...)

我的cmake文件中需要

在其他安装中不需要为链接程序添加核心库,因此这给我造成了很多混乱。