使用Windows库在Linux上编译cpp文件

时间:2016-10-19 10:35:19

标签: compilation g++

我想一劳永逸地解决这个问题,编译使用Windows库的.cpp文件(创建 exe 文件)的最佳方法是什么。

例如,我有这个cpp开头:

plotrix

我得到了

#include "stdafx.h"
#include <Windows.h>

我知道stdafx在Windows上需要Visual C ++,但是我想在Linux上编译它,你会怎么做?

非常感谢

1 个答案:

答案 0 :(得分:0)

简短的回答是你无法在Linux上构建Windows可执行文件。但是您可以下载免费的Visual Studio Community Edition以在Windows上构建它。

private PendingIntent getGeofencePendingIntent() { // Reuse the PendingIntent if we already have it. if (mGeofencePendingIntent != null) { return mGeofencePendingIntent; } Intent intent = new Intent(this, GeofenceTransitionsIntentService.class); // We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when // calling addGeofences() and removeGeofences(). return PendingIntent.getService(this, 0, intent, PendingIntent. FLAG_UPDATE_CURRENT); } 是项目中的头文件。它由Visual Studio的预编译头功能使用。如果使用预定义的项目模板,Visual Studio将自动生成stdafx.h并将其标记为预编译。然后,您可以包含常见的C ++标头,例如: STL,在stdafx.h中,并在每个源代码文件中包含stdafx.h

当您不使用Visual Studio时,stdafx.h是一个方便的位置,可以为运行时库提供标准标题,但不能用于其他目的。

stdafx.h是Windows运行时API的头文件。 Linux上没有Windows API,因此标题不可用。如果要在Linux上构建可执行文件以在Linux上运行,则必须使用Linux等效项替换Windows API。