Я пытался запустить графические примеры IUP, приведенные по этой ссылке C или CPP примеры
например plot.C или mathglsamples.c в среде Windows MinGW X64 прямо из адаптации исходного кода без модификации как таковой. Однако документация настолько плоха, что я столкнулся со стеной. После неоднократных попыток я, наконец, начал работу с IUP, CD и основной динамической библиотекой IM.
Теперь я с радостью делюсь своей успешной конфигурацией для автономного исполняемого файла, чтобы получить пользу и помочь тем, кто не столкнулся с разочарованием и ошибкой, поскольку в настоящее время на веб-сайте нет явных требований к библиотеке.
Было бы намного проще запустить это в среде IDE netbeans, просто указав все эти заголовочные файлы и необходимые библиотеки.
Ниже приведен Cmake, просто нужно убедиться, что все эти библиотеки .dll скопированы в ту же выходную папку, где находятся исполняемые файлы.
# cmake_minimum_required(VERSION <specify CMake version here>)
cmake_minimum_required(VERSION 3.10)
project(IUP)
#set (CMAKE_LEGACY_CYGWIN_WIN32 0)
set(CMAKE_CXX_STANDARD 17)
set(IUPDir "C:/iup-3.24_Win64_dllw4_lib")
set(CDDir "C:/cd-5.11.1_Win64_dllw4_lib")
set (IMDir "C:/im-3.12_Win64_dllw4_lib")
include_directories(${IUPDir})
include_directories(${IUPDir}/include)
include_directories(CDDir)
include_directories(${CDDir}/include)
include_directories(${IMDir}/include)
link_directories(${IUPDir})
link_directories(${CDDir})
add_executable(IUP mathglsamples.c)
#add_executable(IUP plot.cpp)
find_package(iup.dll)
find_package(iupimglib.dll)
add_custom_command(TARGET IUP POST_BUILD # Adds a post-build event to MyTest
COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
"${IUPDir}/iup.dll"
"${IUPDir}/iupimglib.dll"
"${IUPDir}/iup_plot.dll"
"${IUPDir}/iupcontrols.dll"
"${IUPDir}/iupgl.dll"
"${IUPDir}/iupcd.dll"
"${IUPDir}/ftgl.dll"
"${IUPDir}/iup_mglplot.dll"
"${IUPDir}/iupim.dll"
"${IUPDir}/zlib1.dll"
"${CDDir}/cd.dll"
"${CDDir}/cdgl.dll"
"${CDDir}/freetype6.dll"
"${CDDir}/cdcontextplus.dll"
"${IMDir}/im.dll"
"${IMDir}/im_process.dll"
# <--this is in-file
$<TARGET_FILE_DIR:IUP>
)
target_include_directories(IUP PUBLIC ${IUPDir})
target_include_directories(IUP PUBLIC ${CDDir})
target_include_directories(IUP PUBLIC ${IMDir})
target_link_libraries (IUP PUBLIC
"${IUPDir}/iup.dll"
"${IUPDir}/iupimglib.dll"
"${IUPDir}/iup_plot.dll"
"${IUPDir}/iupcontrols.dll"
"${IUPDir}/iupgl.dll"
"${IUPDir}/iupcd.dll"
"${IUPDir}/ftgl.dll"
"${IUPDir}/iup_mglplot.dll"
"${IUPDir}/iupim.dll"
"${IUPDir}/zlib1.dll"
"${CDDir}/cd.dll"
"${CDDir}/cdgl.dll"
"${CDDir}/freetype6.dll"
"${CDDir}/cdcontextplus.dll"
"${IMDir}/im.dll"
"${IMDir}/im_process.dll"
)
Благодарность