簡體   English   中英

Manjaro Linux 無法打開源文件“gtkmm.h”

[英]Manjaro Linux cannot open source file "gtkmm.h"

我最近一直在嘗試用 c++ 設置我的 GUI 開發編碼環境,但收效甚微。 我將 Manjaro Linux 與 Visual Studio Code 一起使用,但由於某種原因,在包含我知道存在的文件時,我似乎總是遇到包含錯誤。

最近,我嘗試通過安裝軟件包和文檔來設置 gtkmm-4.0。 我仔細檢查了/usr/include/以確保軟件包都存在,但我仍然收到包含錯誤: cannot open source file "gtkmm.h"gtkmm.h:No such file or directory

此時,我擁有的所有代碼是:

#include <gtkmm.h>
#include <iostream>

int main(int argc, char* argv[]){

    return 0;
}

生成文件:

exec = game.out
sources = $(wildcard src/*.cpp)
objects = $(sources:.cpp=.o)
flags = -g $(shell pkg-config gtkmm-4.0 --cflags)
libs = $(shell pkg-config gtkmm-4.0 --libs)


$(exec): $(objects)
    g++ $(objects) $(flags) -o $(exec) $(libs)

%.o: %.cpp include/%.h
    g++ -c $(flags) $< -o $@

install:
    make
    cp ./game.out /usr/local/bin/game

clean:
    -rm *.out 
    -rm *.o
    -rm src/*.o

我已經在互聯網上搜索了答案,但我發現的一切要么是針對不同的操作系統/環境,要么就是沒有

@Galik 和 @John 幫我解決了這個問題!

我要做的是使用g++ src/main.cpp -o main $(pkg-config gtkmm-4.0 --cflags --libs)編譯我的代碼,然后運行可執行文件。

謝謝兩位的幫助和指導!!

您需要安裝pkg-config並將其添加到Makefile中的編譯器標志:

flags = -g $(shell pkg-config gtkmm-2.4 --cflags)
libs = $(shell pkg-config gtkmm-2.4 --libs)

# ...

$(exec): $(objects)
    g++ $(objects) $(flags) -o $(exec) $(libs)

工具pkg-config具有支持庫的正確路徑的數據庫。

如果 gtkmm,則取決於您的版本,如果您有gtkmm-3.0版本,您可能需要替換3.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM