Я вижу:
ld: in objs/AttributeValueTest.o, can't link with a main executable for architecture x86_64
При создании очень простой программы, которая имеет только 1 .h и 1 .cpp файл.
Строки компиляции:
g++ -g -I./ -I/usr/local/include -o objs/AttributeValueTest.o tp_datastruct/tests/AttributeValueTest.cpp -L/usr/local/lib -lavrocpp -lcppunit -lm
g++ -g -I./ -I/usr/local/include -o AttributeValueTest objs/AttributeValueTest.o -L/usr/local/lib -lavrocpp -lcppunit -lm
Я пытался указать -arch x86_64, -arch i386 и -m32, но ничего не получалось (я получил другие ошибки, жаловался, что libcppunit был не в правильном формате).
Любая идея/ указатель / предложение?
Спасибо!
Очень странно.Я немного покопался и где-то увидел, что AttributeValueTest.o уже может быть исполняемым файлом.Я сделал «файл» для этого AttributeValueTest.o, и, конечно же, это готовый исполняемый файл.Я изменил свой make-файл, чтобы переименовать этот .o в AttributeValueTest, и я могу с радостью его запустить.Кроме того, исполняемый файл поставляется с каталогом ".dSYM", который я могу удалить без каких-либо проблем ... Я не понимаю, что происходит, но теперь я могу запустить свой исполняемый файл ...