Создайте приложение cpp - PullRequest
1 голос
/ 11 июня 2011

У меня есть список файлов (cpp, h, а также дочерние папки внутри cpp / h тоже).

Я не уверен, как правильно его собрать, потому что он не имеет каких-либоmakefile или что-то в этом роде (чистые c ++ - файлы).Поэтому я решил «поймать» правильные gcc аргументы для его построения.

g++ *.cpp `wx-config --libs` `wx-config --cxxflags` -lGL -lglut -lfkr-skeletal2d

Теперь у меня есть эта строка.Вот список файлов:

$ ls -p
AnimationEditor/  Core-Code/  GLRender.cpp  GLSprite.cpp  Icons/         LGPLv3.txt      MainWindow.h  PlayBar.h  PopUp.h       TimeLine.h
BoneEditor/       daten/      GLRender.h    GLSprite.h    LGPLv3_de.txt  MainWindow.cpp  PlayBar.cpp   PopUp.cpp  TimeLine.cpp  wxWidgets_Addons/

В каталоге есть файлы Core-Code:

AnimationManager.cpp  AnimationManager.h  SkeletalManager.cpp  SkeletalManager.h  TextureManager.cpp  TextureManager.h

Когда я использую эту gcc-строку, я получаю много ошибок компоновщика:

undefined reference to `CSkeletalManager::***
undefined reference to `CAnimationManager::***

Может быть, мне нужно как-то указать файлы из Core-Code.Я не могу понять проблему.

Ответы [ 2 ]

2 голосов
/ 11 июня 2011

Лучшее, что нужно сделать 1002 *, - это приложить немного усилий и создать набор файлов Makefile; один верхнего уровня, и дочерние Make-файлы для подкаталогов. Но если вы хотите использовать тот же подход - просто создать командную строку, начните с замены вашего * .cpp на find . -name '*.cpp', чтобы он включал все файлы *.cpp. Я думаю, что после этого у вас будут проблемы с поиском *.hpp файлов, поэтому вам нужно будет добавить несколько -I опций, чтобы сообщить g++, где искать заголовки.

Так что-то вроде

g++ `find . -name '*.cpp'` -IAnimationEditor -IBoneEdiror -ICore-Code `wx-config --libs` `wx-config --cxxflags` -lGL -lglut -lfkr-skeletal2d
1 голос
/ 11 июня 2011

Я бы добавил также: Core-Code/*.cpp в командную строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...