#linking to gtk libraries

7 messages · Page 1 of 1 (latest)

runic pulsar
#

hi, i'm trying to gtk4 on windows using gtkmm but i can't get it to link librieries correcly
this is my test code:

#include <gtkmm.h>

class MyWindow : public Gtk::Window
{
public:
  MyWindow();
};

MyWindow::MyWindow()
{
  set_title("Basic application");
  set_default_size(200, 200);
}

int main(int argc, char* argv[])
{
  auto app = Gtk::Application::create("org.gtkmm.examples.base");
  return app->make_window_and_run<MyWindow>(argc, argv);
}

and my cmake:

cmake_minimum_required(VERSION 3.5)
project(GTKTutorial)

find_package(PkgConfig)

# pkg_check_modules(GTKMM gtkmm-2.4)

link_directories(
    ${GTKMM_LIBRARY_DIRS}  )

include_directories(
    ${GTKMM_INCLUDE_DIRS}  )

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

set(GTKMM_INCLUDE_DIRS "C:/msys64/mingw64/include/gtkmm-4.0")
set(GTKMM_LIBRARY_DIRS "C:/msys64/mingw64/lib")
set(GTKMM_LIBRARIES  "C:/msys64/mingw64/lib")
set(ENV{PKG_CONFIG_PATH} "C:/msys64/mingw64/lib/pkgconfig")

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK4 REQUIRED gtk4)

include_directories(${GTK4_INCLUDE_DIRS})
link_directories(${GTK4_LIBRARY_DIRS})
add_definitions(${GTK4_CFLAGS_OTHER})

add_executable(TutorialApp main.cpp)
target_link_libraries(TutorialApp ${GTKMM_LIBRARIES} )

and error i get is fatal error: gtkmm.h: No such file or directory
cmake also gives me warning CMake Warning at CMakeLists.txt:30 (target_link_libraries):Target "TutorialApp" requests linking to directory "C:/msys64/mingw64/lib". Targets may link only to libraries. CMake is dropping the item.

balmy crescentBOT
#

When your question is answered use !solved to mark the question as resolved.

Remember to ask specific questions, provide necessary details, and reduce your question to its simplest form. For tips on how to ask a good question use !howto ask.

sonic sequoia
#

Set the enviroment variables before the linking

#

But are you sure that you are linking to where the DLL

#

Are?

runic pulsar
#

after cheanging it to

cmake_minimum_required(VERSION 3.5)
project(GTKTutorial)

find_package(PkgConfig)

pkg_check_modules(GTKMM gtkmm-2.4)

set(GTKMM_INCLUDE_DIRS "C:/msys64/mingw64/include/gtkmm-4.0")
set(GTKMM_LIBRARY_DIRS "C:/msys64/mingw64/lib")
set(GTKMM_LIBRARIES  "C:/msys64/mingw64/lib")
set(ENV{PKG_CONFIG_PATH} "C:/msys64/mingw64/lib/pkgconfig")

link_directories(
    ${GTKMM_LIBRARY_DIRS}  )

include_directories(
    ${GTKMM_INCLUDE_DIRS}  )

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK4 REQUIRED gtk4)

include_directories(${GTK4_INCLUDE_DIRS})
link_directories(${GTK4_LIBRARY_DIRS})
add_definitions(${GTK4_CFLAGS_OTHER})

add_executable(TutorialApp main.cpp)
target_link_libraries(TutorialApp ${GTKMM_LIBRARIES} )
``` i still get the same error
#

about ddl only ddl i can find are in bin but there are no gtkmm ddl