我正在学习 gtkmm4 并决定运行一个在这里找到的简单示例;但是,当我运行可执行文件时,Avast 立即将其标记为恶意软件 IDP.Generic。为什么会这样?我曾尝试在网上搜索,但最终,我没有发现与我的问题有关的任何内容。我正在使用 cmake 和 Ninja 构建可执行文件。
这是源代码:
#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[])
{
g_setenv("GTK_THEME", "Adwaita:dark", FALSE); // test line (works!)
//g_setenv("GTK_CSD", "0", FALSE); // test line
auto app = Gtk::Application::create("org.gtkmm.examples.base");
return app->make_window_and_run<MyWindow>(argc, argv);
}
这是 CMakeLists.txt 文件的内容:
cmake_minimum_required(VERSION 3.10)
# set the project name
project(Test)
#generate compile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Find dependencies
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTKMM REQUIRED gtkmm-4.0)
add_compile_options(${GTK4_CFLAGS_OTHER})
set(LIBRARIES ${LIBRARIES} ${GTK4_LIBRARIES})
include_directories(${GTKMM_INCLUDE_DIRS})
link_directories(${GTKMM_LIBRARY_DIRS})
# add the executable
add_executable(${CMAKE_PROJECT_NAME} ${SOURCE_FILES} test.cc)
#TARGET LINK LIBRARIES
target_link_libraries(${CMAKE_PROJECT_NAME} ${GTKMM_LIBRARIES})