在 Eclipse ADT 中,我创建了一个新的 cpp 文件并收到"undefined reference"错误
In Eclipse ADT I create a new cpp file and receive "undefined reference" error
我在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)/%=%)
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 为什么我的主文件.cpp不打印头文件中的任何内容
- 生成文件错误 - 找不到文件 - *.cpp
- 如何在文件.cpp gtkmm中声明小部件
- 没有实现文件(.cpp)的派生类
- 如何使用"CMakeLists.txt"中的add_library将整个文件(.cpp,.h等)包含在目录中
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 关于 Linux .so 文件无法链接到主文件.cpp文件
- 文件.cpp从Windows到Linux
- Ubuntu C++ 编译器错误: g++: 错误: 文件.cpp: 没有这样的文件或目录
- 如何将文件.cpp编译为本机编译
- 使用模板类时,似乎无法包含除 main 以外的任何 cpp 文件.cpp
- 无法编译C++文件.cpp。C++98模式
- 为什么C++头文件不需要包含实现文件 (.cpp)
- 如何访问位于独立文件(.cpp)中的非成员函数
- 如何在Visual Studio Code中通过键盘快捷键切换头文件/cpp文件
- 如何将数据从stringstream写入文件(CPP)
- 为什么filestream不把空白写入文件cpp ?