2016-07-14 50 views
0

我有兩個VS10項目,一個是(不是MFC)DLL。我想在DLL項目中使用在其他項目的一個頭文件中定義的struct。這些項目使用預編譯頭文件,並且所有包含都在stdafx.h之下。在兩個Visual Studio 2010 C++項目(DLL和一個Win32項目)中共享頭文件

一號工程

struct example 
{ 
    int a; 
    int b; 
}; 

DLL項目

#include "stdafx.h" 


extern "C" 
{ 

    __declspec(dllexport) int ex(struct example *p) 
    { 
     int c = p->a; 

     return 1; 
    } 


} 

struct example必須從DLL項目可見。我怎樣才能做到這一點?

+0

在使用dll時,您需要使用將'__declspec(dllexport)'更改爲'__declspec(dllimport)'的宏。如果你搜索,應該有1000個例子。 – drescherjm

+0

你能更詳盡嗎? –

+0

http://stackoverflow.com/questions/14980649/macro-for-dllexport-dllimport-switch – drescherjm

回答

1

這可以在編譯時通過將Struct放入單獨的頭文件並將其包含在兩個項目中來解決。

相關問題