zlib将无法在源代码模式下使用cmake进行编译。
我究竟做错了什么?
这里是zlib在内部工作:
mkdir test cd test mkdir contrib mkdir build cp /tmp/zlib-1.2.8.tar.gz contrib cd contrib tar xvf zlib-1.2.8.tar.gz cd zlib-1.2.8 rm zconf.h cmake . make
这是zlib失败的源代码:
将数据发送到等待ppoll的另一个进程的stdin
如何使用printf显示off_t,nlink_t,size_t和其他特殊types?
MoveFileWithProgress抛出“系统无法将文件移动到不同的磁盘驱动器” – 为什么?
在Linux设备驱动程序编程中使用struct inode和struct file传递数据的原因
无法parsing共享库中的符号,但未提供符号名称
mkdir test cd test mkdir contrib mkdir build cp /tmp/zlib-1.2.8.tar.gz contrib cd contrib tar xvf zlib-1.2.8.tar.gz cd zlib-1.2.8 rm zconf.h cd ../../ echo -e cmake_minimum_required(VERSION 2.6.4)\r\n project(MyTestApp)\r\n \r\n add_subdirectory(contrib/zlib-1.2.8)\r\n > CMakeLists.txt cd build cmake .. make
它失败:
/home/blah/test/contrib/zlib-1.2.8/test/example.c:8:18: error: zlib.h: No such file or directory
注释:我在做什么? 我正在寻求build立一个zlib的本地副本。 我不想涉及系统zlib(我的项目涉及交叉编译)。
我没有在/ usr / include中安装zlib.h。 (我卸载zlib-devel)当我有zlib-devel软件包安装(然后给我一个zlib系统安装,我不想),关于zlib.h的错误改变,而不是能够findzconf.h。
病理是一样的。 example.c文件没有find正确的头文件。 您可以很清楚地知道这是从zlib附带的CMakeLists.txt文件中发生的。 构buildzlib库的部分本身提到了ZLIB_PUBLIC_HDRS,但构build该示例的部分没有提及该variables。 因此:它不是在本地寻找标题。 (我在这里猜测)
如何刷新未决的FileSystemWatcher事件?
在Ubuntu中监控键盘按键
获取当前进程上下文的实际可执行path – Linux内核
Linux – 找不到SO文件
如何使用MinGW gdbdebugging器在Windows中debuggingC ++程序?
zlib的out-of-source构建很好。 你所做的是:创建一个新的根CMakeLists.txt ,然后使用zlib源目录作为子目录。 这是行不通的。 问题可能是使用CMake变量CMAKE_SOURCE_DIR而不是CMAKE_CURRENT_SOURCE_DIR 。 在zlib的CMakeLists.txt文件中,尝试用另一个替换一个。
编辑:
在zlib附带的CMakeLists.txt中,找到这一行:
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
并将其更改为:
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。