作为主题说,我想要做的是类似于此 ,但使用Visual Studio 2012。
我可以建立并产生一个DLL,我可以加载在JavaScript该DLL,但我不能在DLL访问功能。 看着DllExp的DLL没有显示功能,提示什么是错与DLL。
该DLL是创建使用“空项目”模板创建一个新的C ++项目。 值得注意的设置;
常规 - >配置类型设置为DLL
没有优化。
没有预编译头。
编译为C代码
调用约定__cdecl
编译和链接COMMANDLINES,如果有,我没有想过显著的设置,是
/GS /TC /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /sdl /Fd"Debug\vc110.pdb" /fp:precise /D "_WINDLL" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Fp"Debug\StreamInterop.pch"
而对于连接器
/OUT:"C:\Work\VehicleTracker-DotNet\StreamInterop\Debug\StreamInterop.dll" /MANIFEST /NXCOMPAT /PDB:"C:\Work\VehicleTracker-DotNet\StreamInterop\Debug\StreamInterop.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /IMPLIB:"C:\Work\VehicleTracker-DotNet\StreamInterop\Debug\StreamInterop.lib" /DEBUG /DLL /MACHINE:X86 /INCREMENTAL /PGD:"C:\Work\VehicleTracker-DotNet\StreamInterop\Debug\StreamInterop.pgd" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Debug\StreamInterop.dll.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /TLBI
项目包含一个单一的C源文件,main.c中,含
#include<stdio.h>
int add(int a,int b)
{
return(a+b);
}
鉴于这是一个需要在先前的帖子所有,在我看来,这个问题必须在编译器或链接器的开关。 任何人都可以看到我错过了什么?