我正在尝试安装一个可用于访问Amazon S3服务的库(我只需要能够在那里上传文件)。代码需要使用C ++,因为它将作为我正在处理的应用程序的一部分捆绑在一起。
我正在尝试与位于此处的Bryan Ischo图书馆合作:http://libs3.ischo.com.s3.amazonaws.com/index.html
我遇到了一些安装问题。我将GNUMakefile.macosx更改为GNUMakefile然后运行“sudo make install”,因为我正在Mac上开发。然后我做了一个测试.cpp文件。
#include <libs3.h>
...a few other things...
int main() {
cout << "Hello World!" << endl;
S3_initialize(NULL, S3_INIT_ALL);
return 0;
}
我想要做的就是能够初始化库,因为这是他的API所要做的。但是,我收回了这个错误:
Undefined symbols:
"_S3_initialize", referenced from:
_main in ccRcG0yS.o
ld: symbol(s) not found
我想帮助修复我的libs3安装或获取一些关于通过C ++访问S3的技巧。
谢谢!
答案 0 :(得分:3)
您的测试应用程序未与libs3
关联。您需要将它添加到链接器标志,例如-ls3
(如果库是libs3.so/a)
答案 1 :(得分:0)
我在Mac上使用Byan Ischo的库执行C文件时遇到了类似的问题,在我能够成功运行测试文件之前,我必须添加更多参数。
如何在mac上编译libs3?
sudo make DESTDIR=/opt/local install
如何编译test.c?
cc test.c -I/opt/local/include -L/opt/local/lib -ls3
如何执行a.out?
DYLD_LIBRARY_PATH=/opt/local/lib ./a.out