Вопрос, который у меня был ранее ( ссылка ), должен быть запрошен с правильным заголовком. Здесь я задаю мою проблему в этом посте.
Как указано в ссылке выше, после
./configure > make > make install > aclocal > make
библиотечные файлы, включая libsoft.a и libsoft.so, были созданы в "softsusy-4.1.1 / .libs".
Также в папке "softsusy-4.1.1 / src / .libs" уже созданы все необходимые файлы .o, чьи файлы .cpp включены / указаны в main.cpp.
В попытке скомпилировать main.cpp я попытался
g++ -g main.cpp nmssmsoftsusy.cpp decays.cpp /path/config.h -o main
g++ -g -Wall -L/path/softsusy-4.1.1/src/.libs -llibsoft main.cpp -o test
g++ -g -Wall -llibsoft main.cpp -o main
где main.cpp
#include "main.h"
#include "nmssmsoftsusy.h"
#include "decays.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
using namespace softsusy;
int main() {
/// Sets up exception handling
signal(SIGFPE, FPE_ExceptionHandler);
Тогда я получил такие ошибки, как
неопределенная ссылка на `FPE_ExceptionHandler (int) '
для первого и второго испытаний, и ошибка, о которой он не знает libsoft для последнего испытания:
/ usr / bin / ld: не удается найти -llibsoft
Есть несколько ошибок такого рода, даже после того, как я изменил .h на файлы .cpp или включил softsusy.h.
Могу ли я спросить вас, как правильно связать файлы .o (чьи файлы .cpp включены в main ()) или каким-либо другим способом запустить main.cpp?
Спасибо.