如何解决生成cpp应用程序
| 我有一个文件列表(cpp,h以及cpp / h中的子文件夹)。 我不确定如何正确构建它,因为它没有这样的makefile或smth(纯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/
目录“ 3”中有文件:
AnimationManager.cpp AnimationManager.h SkeletalManager.cpp SkeletalManager.h TextureManager.cpp TextureManager.h
当我使用该gcc-line时,出现很多链接器错误:
undefined reference to `CSkeletalManager::***
undefined reference to `CAnimationManager::***
也许我必须以某种方式指定来自Core-Code
的文件。我不明白这个问题。
解决方法
最好的办法是花一点力气,然后实际创建一组Makefile。顶层,子目录的子Makefile。但是,如果您想使用仅创建命令行的相同方法,请先用
find . -name \'*.cpp\'
替换\'*。cpp \',使其包含所有*.cpp
文件。我认为之后您将很难找到*.hpp
个文件,因此您需要添加一些-I
选项以告诉g++
在哪里查找标头。
所以像
g++ `find . -name \'*.cpp\'` -IAnimationEditor -IBoneEdiror -ICore-Code `wx-config --libs` `wx-config --cxxflags` -lGL -lglut -lfkr-skeletal2d
, 我还将在命令行中添加:Core-Code/*.cpp
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。