Я использую Player / Stage для своей дипломной работы. Но я получаю неопределенные ссылки сообщения об ошибках, пока я хочу построить этот код в Eclipse CDT-
#include <iostream>
#include <playerc++.h>
#include <playerclient.h>
#include <clientproxy.h>
using namespace std;
int main()
{
PlayerClient robot("localhost",6665);
return 0;
}
Сообщение об ошибке:
08:40:02 **** Build of configuration Debug for project firstTest ****
make all
Building file: ../src/firstTest.cpp
Invoking: GCC C++ Compiler
g++ -I/usr/local/include/player-3.0/libplayerc++ -include/usr/local/include/player-3.0/libplayerc++/playerc++.h -include/usr/local/include/player-3.0/libplayerc++/clientproxy.h -include/usr/local/include/player-3.0/libplayerc++/playerc++config.h -include/usr/local/include/player-3.0/libplayerc++/playerclient.h -include/usr/local/include/player-3.0/libplayerc++/playererror.h -include/usr/local/include/player-3.0/libplayerc++/utility.h -O0 -g3 -Wall -c -fmessage-length=0 `pkg-config --cflags playerc++` -MMD -MP -MF"src/firstTest.d" -MT"src/firstTest.d" -o "src/firstTest.o" "../src/firstTest.cpp"Finished building: ../src/firstTest.cpp
Building target: firstTest
Invoking: GCC C++ Linker
g++ `pkg-config --libs playerc++` -o "firstTest" ./src/firstTest.o
./src/firstTest.o: In function `main':
/home/nafees/workspace/firstTest/Debug/../src/firstTest.cpp:19: undefined reference to `PlayerCc::PlayerClient::PlayerClient(std::string, unsigned int, int)'
/home/nafees/workspace/firstTest/Debug/../src/firstTest.cpp:19: undefined reference to `PlayerCc::PlayerClient::~PlayerClient()'
collect2: error: ld returned 1 exit status
make: *** [firstTest] Error 1
08:40:02 Build Finished (took 514ms)
Я следовал этому хорошему уроку, опубликованному Дженни http://yorkroboticist.blogspot.com/2010/03/playerstage-on-eclipse.html
По этой ссылке вы получите снимки моих свойств проекта Eclipse:
https://www.dropbox.com/sh/9hcmditufu0lt6v/AAChqD1-FMM9FhvTWpuOGMQ-a?dl=0
Я пробовал много способов, чтобы удалить эту ошибку. но все в духе. Пожалуйста, помогите мне продолжить мою диссертацию.
С благодарностью
Нафис
Я выяснил проблему «неопределенной ссылки» …..
Если кто-то хочет использовать eclipse CDT для имитации сцены / плеера, выполните следующие действия. Я предполагаю, что вы правильно установили Player / Stage.
Перейти к проекту свойства.
расширять C / C ++ Build.
Нажмите на настройки.
Если вы хотите построить код C ++, Следуй этим шагам-
Под Компилятор GCC C ++, нажмите на Разнообразный Вкладка.
Есть коробка с именем «Другие флаги». Вставьте эту строку (с `символами) на поле
`pkg-config —cflags playerc ++`
Внимание: никогда не редактируйте существующие строки в окне. Просто вставьте вышеуказанную строку рядом с существующей строкой с пробелом. И имейте в виду «и» не то же самое.
Затем перейдите к включает / каталоги(название может отличаться в зависимости от версии Eclipse). Есть «включить пути (-I)» коробка. нажмите на добавлять и перейдите к Компьютер> usr> local> include> Player- x.x и нажмите ок.
Если вы хотите построить код C, Пропустите инструкцию № 4 и выполните следующие действия:
Под Компилятор GCC C, нажмите на Разнообразный.
Есть коробка с именем «Другие флаги». Вставьте эту строку (с символом `) на поле
`pkg-config —cflags playerc`
Внимание: никогда не редактируйте существующие строки в окне. Просто вставьте указанную выше строку рядом с существующей пробелом. И имейте в виду, и `не то же самое
Идти к включает / каталоги(имена могут отличаться в зависимости от версии Eclipse). Есть «включить пути (-I)» коробка. нажмите на добавлять и перейдите к Компьютер> usr> local> include> Player- x.x и нажмите ок.
Теперь самые важные шаги приходят сюда. Под GCC C ++ Linker, нажмите на Разнообразный Вкладка. Есть коробка с именем «Линкер флаги».
`pkg-config —libs playerc ++`
`pkg-config —libs playerc`
Теперь перейдите к Библиотеки вкладка и там вы увидите «Библиотеки (-л)» коробка. Нажмите добавлять кнопка и
Если вы используете C ++, вставьте линия-
playerc ++
playerc
Вот и все ……. Теперь попробуйте скомпилировать и построить пример кода. 🙂 🙂 🙂
Других решений пока нет …