В Eclipse ADT я создаю новый файл cpp и получаю & quot; неопределенную ссылку & quot; ошибка

Я использую 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.

2

Решение

Мы с моим другом нашли ответ, хотя он требует ручного редактирования файла каждый раз, когда мы добавляем .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)/%=%)

2

Другие решения

Других решений пока нет …