`

关于在windows下编译遇到unistd.h的问题解决方法

    博客分类:
  • C++
阅读更多
许多在Linux下开发的C程序都需要头文件unistd.h,但VC中没有个头文件,
所以用VC编译总是报错。把下面的内容保存为unistd.h,可以解决这个问题。
/** This file is part of the Mingw32 package.
 *  unistd.h maps     (roughly) to io.h
 */
#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif /* _UNISTD_H */

分享到:
评论
4 楼 tjnhappy 2010-11-05  
还是不行呀
3 楼 me- 2010-03-16  
me- 写道
到那时没解决,
#ifdef _WIN32
extern "C"{
	extern int getopt(int ,char* const* ,const char *);
	extern optind;
};
#else
#include<unistd.h>
#endif

Main.obj : error LNK2001: unresolved external symbol _optind
Main.obj : error LNK2001: unresolved external symbol _getop

哦。

这个是BDB下面例子的源代码的部分。后面的报错是我提的。
2 楼 me- 2010-03-16  
到那时没解决,
#ifdef _WIN32
extern "C"{
	extern int getopt(int ,char* const* ,const char *);
	extern optind;
};
#else
#include<unistd.h>
#endif

Main.obj : error LNK2001: unresolved external symbol _optind
Main.obj : error LNK2001: unresolved external symbol _getop

哦。
1 楼 me- 2010-03-16  
xiexie

相关推荐

    drient.h和unistd.h

    在Linux和Windows之间进行移植时,经常会遇到由于系统API差异而导致的问题。标题提到的`dirent.h`和`unistd.h`是两个在Linux环境下广泛使用的头文件,而在Windows的Visual Studio(VS)环境中可能不被直接支持。下面...

    C语言头文件#includeunistd.h的作用

    这种方法通过预处理器指令实现了条件编译,确保在 Windows 下引入 Windows API,而在其他平台则引入 `&lt;unistd.h&gt;`。此外,示例中还提供了一个简化的 `&lt;unistd.h&gt;` 文件,通过映射到 Windows 下的 `&lt;io.h&gt;` 和 `...

    windows编译glut-3.7

    ### Windows编译GLUT-3.7:详细步骤与注意事项 #### 1. 下载GLUT源码包 - 首先,需要从官方网站或其他可靠资源处下载`glut37.zip`和`glut37data.zip`两个文件,并解压至同一个目录下,比如命名为`glut-3.7`。 ###...

    Windows下配置Wireshark

    这个过程中可能会遇到一些问题,比如找不到unistd.h文件,解决方法是在VC的include目录下创建一个空的unistd.h文件。如果遇到宏定义错误,如ascend-scanner.c和k12text.c中的wrap(n)问题,可以尝试使用UE替换源代码...

    leveldb-windows

    LevelDB是Google开发的一个开源键值对存储数据库,它提供了简单、高性能的接口,...注意,由于不同的编译器和环境可能会有所不同,编译过程中可能会遇到一些问题,解决这些问题通常需要查阅文档或进行一些调试工作。

    bar_with_relro.rar_prototype

    但是,如果你使用MinGW或者其他的类Unix工具链在Windows下编译,`unistd.h`可能也能提供`getcwd()`的声明。 `mkdir()`函数则是用来创建一个新的目录。在Unix和类Unix系统中,通常包含`unistd.h`来使用它。函数原型...

    c++条件编译详解

    条件编译是一种在编译阶段根据不同的条件选择性地编译代码片段的技术。它主要用于优化编译过程,提高程序运行效率,以及针对不同环境定制编译结果。C++中的条件编译主要通过预处理器指令实现。 #### 二、预处理器与...

    vs2008编译ipmiutil方法

    在这种情况下,你需要查找相应的Windows API替换,例如,将`fork()`替换为`CreateProcess()`,`unistd.h`中的函数替换为`Windows.h`中的对应函数。 **步骤6:移植Makefile规则** 虽然VS2008不使用Makefile,但可以...

    vs2008编译qgis1.7.0

    1. 将`D:\GnuWin32\include\unistd.h`复制到`C:\Program Files\Microsoft Visual Studio 9.0\VC\include`目录下,以修复可能的编译错误。 然后,设置环境变量,创建一个`.bat`文件并输入以下内容,以确保所有必需的...

    编译出错的VC ACE的MFC程序

    在VC ACE环境中开发MFC程序时,可能会遇到各种编译错误,这通常涉及到C++语法、库函数不兼容、头文件引用、链接问题或者是项目设置等多方面的问题。以下是一些可能遇到的知识点以及解决方法: 1. **C++语法错误**:...

    linux环境下的c编程代码

    C语言在Linux下可以利用`&lt;unistd.h&gt;`和`&lt;pthread.h&gt;`进行进程和线程的创建与管理。`fork()`创建新进程,`pthread_create()`创建线程。 9. **信号处理**: Linux系统使用信号进行进程间通信和异常处理。`&lt;signal.h...

    openssl WindowsMobile 平台移植

    在编译过程中,可能会遇到各种问题,如API不兼容、缺少特定的系统函数等。这些问题通常需要通过编写平台特定的适配层(比如,使用WinAPI替代POSIX函数)来解决。例如,OpenSSL可能使用了unistd.h中的某些函数,而...

    Linux 特殊头文件集合

    当在Windows环境下编写面向Linux的程序时,由于环境差异,可能会遇到找不到相应头文件的问题,导致编译错误。针对这一问题,"Linux 特殊头文件集合"提供了必要的解决方案。 这个压缩包文件包含了Linux系统中一些...

    跨平台的编程技术.pdf

    ### 跨平台编程技术概述 跨平台编程技术是一种软件开发方法,它允许开发者编写一次代码,然后可以在多种...此外,通过在 Windows 环境下进行初始开发,再转移到其他平台进行最终编译,可以进一步提高开发速度和效率。

    Flex And Bison For Windows

    `UNISTD_ERROR.readme`可能是一个关于在Windows系统中使用Unix标准函数时可能出现的问题的说明文档,因为在Windows上,某些Unix标准库函数并不直接可用,可能需要使用模拟库或者替代函数。 `README.txt`通常包含...

    win_flex_bison-latest (1).zip

    4. UNISTD_ERROR.readme:可能包含了关于在Windows环境下使用UNIX标准库可能出现的问题及其解决方法的说明。 5. README.txt:通常提供有关压缩包内容、安装和使用方法的基本指南。 6. ~flex_temp_out_main_a19908:...

    香农编码实验报告.doc

    1. 包含文件错误:`unistd.h`和`values.h`是Unix特有的头文件,在Windows环境下需要删除引用,因为它们不适用。 2. 语法错误:如未找到合适的右括号,需要检查并添加缺失的符号。 3. 符号识别问题:某些字符可能不...

    openwrt 物联网开发从零开始手把手教程16,package 软件包开发

    如果在使用`opkg install xxx.ipk`命令时遇到问题,例如提示“satisfy_dependencies_for: Cannot satisfy the following dependencies for xxx”,这通常是因为OpenWRT版本与ipk模块版本不匹配。 - **解决方法一**...

    Linux 系统调用实现机制实验报告-内核安装详解.pdf

    实验环境的搭建至关重要,包括在Windows下安装VMware WorkStation虚拟机,然后在虚拟机上安装Red Hat Linux 9.0系统。为了方便文件在Windows和Linux之间共享,还需要在Windows上设置FTP服务器(例如Serv-U),配置...

    win-flexbison工具

    - `UNISTD_ERROR.readme`可能包含有关在Windows下使用这些工具时可能遇到的错误或不兼容性的说明。 - `README.txt`提供了工具的使用指南和注意事项。 - `custom_build_rules`可能是项目特定的构建规则,帮助用户...

Global site tag (gtag.js) - Google Analytics