编译和链接不工作 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 文件中是必需的

在其他安装中不需要为链接器添加核心库,所以这对我来说造成了很多混乱。