Проблемы с Amazon Libs3 - PullRequest
1 голос
/ 19 июля 2011

Я пытаюсь установить библиотеку, которую я могу использовать для доступа к сервису Amazon S3 (мне просто нужно иметь возможность загружать туда файлы).Код должен быть на C ++, потому что он собирается быть частью приложения, над которым я работаю.

Я пытаюсь работать с библиотекой Брайана Ишо, расположенной здесь: 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 или получить несколько советов по доступу к S3 через C ++.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Ваше тестовое приложение не связано с libs3.Вам нужно будет добавить его к флагам компоновщика, например -ls3 (если библиотека libs3.so/a)

0 голосов
/ 29 июля 2014

Я столкнулся с аналогичной проблемой при выполнении файла C с использованием библиотеки Бьяна Ишо на Mac, и мне пришлось добавить еще несколько параметров, прежде чем я смог успешно запустить свой тестовый файл.

Как скомпилировать libs3 на Mac?

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...