gtkmm - 致命错误:gtkmm.h:没有这样的文件或目录
问题描述
我无法弄清楚这段代码有什么问题
无论我做什么编辑,每次都会给出同样的错误
all : asio - 1.12.2 src / chat_server client
asio - 1.12.2 :
tar xzf asio - 1.12.2.tar.gz
client : src / client.cpp src / mainwin.cpp src/*.h
$(CXX) $(CXXFLAGS) src/client.cpp src/mainwin.cpp $(GTKFLAGS) -o src/client
GTKLINKFLAGS=$(shell pkg-config --libs gtkmm-3.0)
GTKCOMPILEFLAGS=$(shell pkg-config --cflags gtkmm-3.0)
CXXFLAGS+= -DASIO_STANDALONE -Wall -O0 -g -std=c++11
CPPFLAGS+=-I./include -I./asio-1.12.2/include -I./src ${GTKCOMPILEFLAGS}
LDLIBS+= -lpthread ${GTKLINKFLAGS}
clean:
-rm -rf asio-1.12.2
-rm -f src/client
-rm -f src/chat_server
解决方案
我可以重现你的错误。在:
client : src / client.cpp src / mainwin.cpp src/*.h
$(CXX) $(CXXFLAGS) src/client.cpp src/mainwin.cpp $(GTKFLAGS) -o src/client
您正在使用$(GTKFLAGS)
哪个是空的。要注意它,请键入:make -n
. 在你的情况下替换它,$(GTKCOMPILEFLAGS) $(GTKLINKFLAGS)
但这不是一个很好的修复,因为你应该分开你的 Makefile 规则:
- 一个用于将每个 cpp 文件编译成目标文件 (.o)
- 以及将所有对象文件链接到二进制文件的一条规则。
推荐阅读
- python-3.x - 使用 lambda 表达式重置 Pandas 系列的索引
- pine-script - Pine Script - 根据最后一个小节为整个绘图线着色
- android - 如何在同一个xml文件中设置多个按钮的设计
- php - 检查文件夹是否存在或检查数据库中的用户名,哪个更快更好?
- unity3d - Unity3d让玩家在接触障碍物时跳跃/传送
- python - flask sql alchemy 类方法不起作用但在 shell 中工作
- python-3.x - 如何在打印Networkx图的边属性时对边的顺序进行排序
- c# - 创建每 12 年重复一次的 Outlook 约会
- java - 以严格的方式验证 zip 存档
- oop - OO Lua - 如何停止访问基类表?