Я хочу изменить существующий make-файл, включив в него другую статическую библиотеку, которую я сделал сам. Я следовал некоторым инструкциям, чтобы создать библиотеку; в настоящее время он содержит все файлы .o
, кроме main.o
. Назовем мою библиотеку libABC.a
. Если это имеет значение, пакет, который я модифицирую, написан на C++, а библиотека, которую я включаю, написана на C.
Пока что я добавил -lABC
в свой список библиотек и поместил библиотеку в тот же каталог, что и другие библиотеки, так что мне не нужно добавлять еще одну команду -L
. Я переместил все файлы заголовков в каталог /include
пакета (не уверен, что мне нужно было это сделать), чтобы избежать добавления еще одной команды -I
. Компиляция как есть не дает мне ошибок, но если я попытаюсь добавить команду #include
для одного из заголовочных файлов из библиотеки и вызвать функцию, я получаю ошибку undefined reference to function()
.
Любые идеи о том, что я могу сделать?
extern "C" { }
? stackoverflow.com/questions/1041866/ - person Darth Hunterix   schedule 10.08.2015