2012-04-20 8 views
3

Я пытаюсь скомпилировать мое приложение ссылку на статическую библиотеку (.a файл)Компиляция переменного тока приложение, которое содержит ссылки на статическую библиотеку в AIX

Команда, которую я использовать для создания такой:

gcc -DUNIX -maix32 -o Release/bin/testApp Release/obj/main.o -ltestLib 

Когда я строю я получаю следующие ошибки:

ld: 0711-317 ERROR: Undefined symbol: .test 
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. 

Где тест представляет собой метод в libtestLib.a

Также, если я попытаюсь построить с динамическим lib, то он будет успешным.

gcc -DUNIX -maix32 -o Release/bin/testApp Release/obj/main.o libtestLib.so 

Вы видите, куда я иду не так?

+0

Почему вы не пытаетесь использовать варианты (-bloadmap или -bnoquiet) или, возможно, опубликовать исходный код? – byrondrossos

+0

Он не распознает эти параметры, когда я их пробую. – Dunc

+1

Обратите внимание, что если вы хотите передать эти параметры компоновщику в командной строке 'gcc', вам, вероятно, придется использовать' -Wl, -bloadmap' или '-Wl, -bnoquiet' –

ответ

1

Вы можете указать путь к файлу архива, а не -ltestLib?

gcc -DUNIX -maix32 /path/to/testLib.a -o Release/bin/testApp Release/obj/main.o 
+0

Да, это печально, то же самое – Dunc

+0

Возможно, запустите '' dump -g testLib.a'', чтобы проверить, что символ присутствует – Garrett