在 Eclipse ADT 中,我创建了一个新的 cpp 文件并收到"undefined reference"错误

In Eclipse ADT I create a new cpp file and receive "undefined reference" error

本文关键字:文件 cpp 错误 reference undefined 一个 ADT Eclipse 创建      更新时间:2023-10-16

我在Ubuntu上使用Eclipse。我从GIT存储库中抓住了一个工作项目。项目中现有的.H和.CPP文件可以修改,编译并运行正常。

然后,我使用new->其他 -> c/c ->标头文件和源文件添加了新的.h和.cpp文件。这些新文件编译但然后生成链接错误:

undefined reference to 'MyFunction()' Type: C/C++ Problem.

对我来说,这意味着编译器正在编译它们,但出于某种原因,没有将新的.OBJ文件放在链接器的正确位置。我希望在项目首选项或Eclipse首选项中查找选项,或者在我添加的新文件中自动生成makefiles中的选项。

感谢您的帮助,我仍然是Eclipse的新手,同时非常熟悉Visual Studio和其他IDE。

我和我的朋友找到了一个答案,尽管每当我们在项目中添加.cpp时,它都需要手动编辑文件(即使我们是通过Eclipse IDE添加它们't修改此文件)

Eclipse开放项目。打开(your_project)/jni/android.mk

查找称为local_src_files的部分

并在您的.cpp文件中添加路径(它将单独找到。 LOCAL_SRC_FILES := hellocpp/main.cpp
../../Classes/AppDelegate.cpp
../../Classes/HelloWorldScene.cpp
../../Classes/WelcomeScene.cpp

在线路上以" "字符作为定界符。
可以这样实现通配符:
LOCAL_SRC_FILES := hellocpp/main.cpp
MY_SOURCES := $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)
LOCAL_SRC_FILES += $(MY_SOURCES:$(LOCAL_PATH)/%=%)