2017-10-11 164 views
0

建立MariaDB的C类接口使用命令后: cmake.exe -G“MinGW的生成文件”不能使用MinGW

许许多多报头都没有发现。

- 寻找包括文件alloca.h

- 寻找包括文件alloca.h - 没有找到

- 寻找包括文件ARPA/inet.h

- 寻找包含文件ARPA/inet.h - 没有找到

- 寻找包括文件crypt.h

- 寻找包括文件crypt.h - 找不到

- 寻找包括文件dirent.h

- 寻找包括文件dirent.h - 发现

- 寻找包括文件dlfcn.h中

- 寻找包括文件dlfcn.h中 - 没有找到

- 寻找包括文件execinfo.h

- 寻找包括文件execinfo.h - 找不到

................ ................ 错误继续 ......... ......

当然,当运行mingw32-make时,会出现错误。

是否有任何cmake标志丢失?

+0

我正在使用:gcc(i686-posix-sjlj-rev1,由MinGW-W64项目构建)6.2.0 cmake版本3.9.3 – DoeDev

回答

0

我已经用mingw构建了MariaDB C连接器。 我不知道这是否会在您的环境中工作 (实际上它并不完全清楚您的环境是什么),但它可以在此环境中工作: Windows 10,gcc i686-posix-dwarf-rev0,MinGW 5.3.0(Qt 5.9附带的), MariaDB 2.2.3的源代码下载。 MariaDB版本号很重要:避免版本3.0.2。 您必须更改源文件libmariadb \ my_pthread.c 以避免重复功能消息,这并不难: “#ifdef WIN32”在函数应该改为 之前,这是不可能的。 “#ifdef WIN32_IMPOSSIBLE”。 然后(我从包含CMakeLists.txt的目录运行, 我没有尝试建立影子):mingw32-make clean,然后 cmake -G“MinGW Makefiles”,然后是mingw32-make。 是的,cmake说“找不到”一堆,而且mingw32-make 会生成警告,但结果是 在libmariadb子目录中的一个.a文件,并且我已经成功链接到我的项目中的 。