Я решил создать C ++ - Qt-GUI для программы на C (оба языка, на которых я не знаю), используя KDevelop, который, в свою очередь, использует CMake.
Источник C не имеет заголовка, поэтому я создал его и перенес в него некоторые структуры, а также объявление единственной функции в источнике C, которую мне нужно вызвать.
Проблема в том, что я не могу вызвать его, потому что либо CMake не находит файл C (и, следовательно, определение), либо, когда я добавляю источник C в мой набор исходных файлов в CMakeLists.txt, жалуется, что и мой main.cpp, и исходный файл C имеют основные функции.
Как мне сказать CMake, что он должен делать доступной только функцию из файла C, который я объявил в заголовке?
вот оно:
project(oregengui)
cmake_minimum_required(VERSION 2.6)
find_package(Qt4 REQUIRED)
include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
set(oregengui_SRCS oregengui.cpp main.cpp qrangeslider/qrangeslider.cpp)
#as soon as i add oregengui/oregengui.c, it won’t work because of the main function
qt4_automoc(${oregengui_SRCS})
add_executable(oregengui ${oregengui_SRCS})
target_link_libraries(oregengui ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
PS: я не хочу слишком сильно менять источник C, так как это независимый проект. Я предполагаю, что разработчик примет введение заголовка, но не намного больше.