【发布时间】:2021-01-18 12:20:22
【问题描述】:
我在尝试将 glib.h 包含到项目中时遇到以下致命错误。 mingw gcc 找不到 glib.h。
致命错误:glib.h:没有这样的文件或目录
我已将问题隔离在一个简单的 helloworld.c 文件中。
在 Ctrl-Shift-B 构建时,我明白了。
我还按照阅读 here 的说明更新了 c_cpp_properties.json 文件中的 includePath。
是否有人对我应该调查或解决此问题有任何想法?我花了很多时间,但在这方面没有任何进展。 :(
helloworld.c 是:
#include <stdio.h>
#include <glib.h>
void main() {
printf("Hello World!");
char c = getchar();
}
c_cpp_properties.json 是:
{
"configurations": [
{
"name": "MingGW",
"includePath": [
"${workspaceFolder}/**",
"C:\\cryptolibs\\msys2-64\\mingw64\\include\\glib-2.0",
"C:\\cryptolibs\\msys2-64\\mingw64\\lib\\glib-2.0\\include",
"C:\\cryptolibs\\pbc-0.5.14\\include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "C:\\MinGW\\bin\\g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"${workspaceFolder}",
"C:\\cryptolibs\\msys2-64\\mingw64\\include\\glib-2.0",
"C:\\cryptolibs\\msys2-64\\mingw64\\lib\\glib-2.0\\include",
"C:\\cryptolibs\\pbc-0.5.14\\include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
launch.json 是:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": ""
}
]
}
tasks.json 是:
{
"tasks": [
{
"type": "shell",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\MinGW\\bin\\gcc.exe",
"args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
【问题讨论】:
-
你为什么要把它包括在内?您认为它将提供哪些声明?
-
谢谢。我需要 glib 来完成一个更大的研究生项目。我已经在 helloworld.c 中隔离了它以用于 stackoverflow。我还成功地在 unbuntu 下构建了 glib 作为测试。但是,我们的项目具有固有地与 windows 以及涉及的其他几个项目成员相关的依赖项。
-
好吧,显然你需要在你的系统上安装
glibdev 包。你有吗? -
我有。但是,我无法在 windows 下构建 glib。对我来说,“配置”文件不会在 powershell 或 cygwin 下运行。因此,我使用 msys 安装并安装了 gtk,希望能够解决它,因为一些网页指向了这个方向。但是,唉,我被困住了。我应该直接安装 glib 吗?你知道如何在windows下安装和构建glib吗?我有 glib-2.59.0 但它没有配置,我也没有在上面运行 make...
-
在 linux 下,
glib.h文件位于:/usr/include/glib-2.0/glib.h。当然,一个重要的考虑因素是您是否安装了 libglib6.so(或类似的)库文件
标签: c visual-studio-code gtk mingw glib