Я использую Eclipse в Ubuntu. Я взял рабочий проект из репозитория git. Существующие файлы .h и .cpp в проекте могут быть изменены, скомпилированы и нормально работать.
Затем я добавляю новые файлы .h и .cpp в проект, используя New-> other-> C / C ++ -> Header File and Source File. Эти новые файлы компилируются, но затем генерируют ошибку ссылки:
undefined reference to 'MyFunction()'
Type: C/C++ Problem.
Что для меня означает, что компилятор их компилирует, но по какой-то причине не помещает новые файлы .obj в нужное место для компоновщика. Я пытался создать make-файл или поиск параметров в настройках проекта или в настройках Eclipse для автоматического создания make-файлов для новых файлов, которые я добавляю.
Спасибо за вашу помощь, я все еще новичок в Eclipse, хотя очень хорошо знаком с Visual Studio и другими IDE.
Мы с моим другом нашли ответ, хотя он требует ручного редактирования файла каждый раз, когда мы добавляем .cpp в проект (даже если мы добавляем их через Eclipse IDE, Eclipse не изменяет этот файл)
Открытый проект в Eclipse.
открыть (YOUR_PROJECT) /jni/Android.mk
Ищите раздел под названием LOCAL_SRC_FILES
и вручную добавьте путь к вашим файлам .cpp (он сам найдет .h):
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)/%=%)
Других решений пока нет …