Я уже прочитал почти все посты, касающиеся этого. Я делаю ссылку на основную библиотеку дважды, как это предлагается во многих местах. Я просто не могу понять, в чем проблема. Здесь ошибка:
main.o: In function `pantheios_initialiser::pantheios_initialiser()':
/home/awishformore/code/pantheios/include/pantheios/./internal/initialiser.hpp:119: undefined reference to `pantheios_init'
/home/awishformore/code/pantheios/include/pantheios/./internal/initialiser.hpp:121: undefined reference to `pantheios_exitProcess'
main.o: In function `pantheios_initialiser::~pantheios_initialiser()':
/home/awishformore/code/pantheios/include/pantheios/./internal/initialiser.hpp:133: undefined reference to `pantheios_uninit'
Это строка, которую мой make-файл генерирует для ссылки:
g++ -Wall -g -I/home/awishformore/code/stlsoft/include -I/home/awishformore/code/pantheios/include -I/home/awishformore/code/boost_1_54_0 -I/home/awishformore/code/mysql/include -L/home/awishformore/code/pantheios/lib -L/home/awishformore/code/mysql/lib -L/home/awishformore/code/boost_1_54_0/lib -lpantheios.1.core.gcc46.file64bit.mt -lpantheios.1.fe.simple.gcc46.file64bit.mt -lpantheios.1.be.fprintf.gcc46.file64bit.mt -lpantheios.1.bec.fprintf.gcc46.file64bit.mt -lpantheios.1.core.gcc46.file64bit.mt -lpantheios.1.util.gcc46.file64bit.mt main.o Database.o -o engine
Я правда не вижу в этом ничего плохого?
После нескольких часов тратить свое время на это, я, наконец, нашел ответ в этом маленький, незаметный пост.
Из-за того, как pantheios построен и как работает gcc, библиотеки должны находиться за объектными файлами в команде линковки, как показано ниже:
g++ <compiler flags> <include paths> main.o <other objects> <library paths> <libraries> -o main
Когда я попытался это сделать, ошибка сменилась неопределенными ссылками на pthread, что было легко разрешено также путем ссылки на библиотеку pthread.
Других решений пока нет …