Всем привет! Подумал, что надо какой-то маленький GUI без всяких зависимостей и желательно кросс-платформенный (+ чтоб был на СИ). Для этого выбрал
Nuklear.
Извлекаю из архива все файлы в папке src и кидаю в
Папочка_Проекта/libs/nuklear
.
Добавляю в CMakeLists.txt путь к библиотеке:
cmake_minimum_required(VERSION 3.10)
project(MozetGui C)
set(CMAKE_C_STANDARD 11)
add_executable(MozetGui main.c)
target_include_directories( MozetGui PUBLIC ${CMAKE_SOURCE_DIR}/libs/nuklear )
Для проверки компилирую:
#define NK_IMPLEMENTATION
#include <nuklear.h>
И получаю:
"C:\Program Files\JetBrains\CLion 2018.1.5\bin\cmake\bin\cmake.exe" --build C:\Users\Timoshka-WIN10\Documents\CLionProjects\MozetGui\cmake-build-debug --target MozetGui -- -j 1
Scanning dependencies of target MozetGui
[ 50%] Building C object CMakeFiles/MozetGui.dir/main.c.obj
[100%] Linking C executable MozetGui.exe
C:/PROGRA~2/MINGW-~1/I686-8~1.0-W/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/lib/../lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x39): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [CMakeFiles\MozetGui.dir\build.make:97: MozetGui.exe] Error 1
mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:67: CMakeFiles/MozetGui.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:79: CMakeFiles/MozetGui.dir/rule] Error 2
mingw32-make.exe: *** [Makefile:117: MozetGui] Error 2
И что-то я тут ничего не понял, вроде с кодом то всё ок, а вот компилятор мозги сломал.
Чем склеить мозги компилятора? :))