Проблемы со связью с библиотекой, реализация которой находится внутри заголовочного файла - PullRequest
1 голос
/ 03 ноября 2011

Я пытаюсь скомпилировать исходный код C ++, который использует lib OpenRacm .Эта библиотека является модифицированной версией OpenRacm с здесь для компиляции в последней версии Ubuntu и Mac OS X, по-видимому, эта библиотека была разработана в основном для Visual C ++.

Исходный код Iя пытаюсь здесь , и пытаюсь скомпилировать следующим образом:

g++ source.cpp -o app -I../opencram/inc/ -L../opencram/Lib/ -lOpenRACM -g

, который дает ошибка

Я думаю, это потому, что файлУ mem_manager.h нет mem_manager.cpp, т. е. он реализует всю свою функциональность внутри заголовочного файла.Вопрос в том, есть ли способ скомпилировать мой исходный код без разделения файла mem_manager.h по интерфейсу (заголовочный файл) и реализации (файл CPP)?

Спасибо!

1 Ответ

0 голосов
/ 03 ноября 2011

Наиболее вероятной причиной вашей проблемы является то, что вы не предоставили компоновщику библиотеку импорта (.a). Убедитесь, что файл .a, поставляемый с OpenRacm, передается компоновщику.

...