-1

我无法使用以下链接错误链接和编译 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 环境中进行操作

请指教

非常感谢!

4

1 回答 1

0

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

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

在我的 cmake 文件中是必需的

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

于 2018-08-15T14:03:38.050 回答