我想一劳永逸地解决这个问题,最好的方法是编译一个使用windows库的.cpp文件(创建一个exe文件)。
例如,我有这个cpp,它的开头是:
#include "stdafx.h"
#include <Windows.h>
我得到了
stdafx.h: No such file or directory
Windows.h: No such file or directory
例如,我知道stdafx在Windows上需要VisualC++,但是我想在Linux上编译它,您会怎么做?
非常感谢
我正在为Windows编写一个Go程序,其中包含几个包。其中一个包是使用CGo调用一些.h和.c文件中定义的几个函数。这些.c文件依赖于windows.h。
由于在Windows平台上开发非常繁琐,所以我想对这个文件中的函数做一个模型,然后在Linux上进行开发。但是,当我试图编译时,我得到:
fatal error: windows.h: No such file or directory
因为go工具试图编译我的Windows相关文件。有办法绕过这件事吗?我知道把一些东西放在
#ifdef ..
import x
#endif
这不是最佳实践,但在这种情况下,我需要一些东西来允许只编译
我有一些在Windows上编译的源代码。我正在将其转换为在Red Hat Linux上运行。
源代码包含了<windows.h>头文件,程序员使用Sleep()函数等待了一段毫秒。这在Linux上不起作用。
但是,我可以使用sleep(seconds)函数,但它使用的是以秒为单位的整数。我不想把毫秒转换成秒。有没有其他的休眠功能可以在Linux平台上和gcc一起使用?
谁能给我指出在Win32上实现mkstemp() (C/C++)的代码,或者非常相似的代码。
必须是无种族的。
它应该看起来像是
#include <windows.h>
#include <io.h>
// port of mkstemp() to win32. race-free.
// behaviour as described in http://linux.die.net/man/3/mkstemp
//
int mkstemp(char *template) {
...
}
谢谢
我需要维护一个支持在Linux和Windows上运行的项目。一些使用这样的预处理器指令的代码就可以了。
#ifdef _WIN32 // _WIN32 is defined by Windows 32 compilers
#include <windows.h>
#else
#include <unistd.h>
#endif
但有些是实际的实现,我希望避免使用预处理器指令。
void Foo()
{
#ifdef _WIN32 // _WIN32 is defined by Windows 32 compilers
code for windows