【求助】怎样用VS生成一个源码为C的托管程序的dll
最终目的:生成一个可以打进apk包的dll(功能是lua-cjson,源码是C语言)。
目前情况:lua-cjson的源码已经下好,在VS2013上已经编译成dll,并在windows editor下可以正常运行。但打apk包时发现该dll文件并没有被打进apk内。在unity下查了一下这个dll的属性,发现Type是Native,而不是Managed (AsseblyInfo Targets .NET 3.5),搜了一下应该是在生成dll时工程创建的有问题。
如果创建的工程是Visual C++ -> Win32 -> Win32项目,导入lua-cjson的C源码后,那么生成的就是非托管的,也就是Native的dll,此时无法被打进apk中;
如果创建的工程是Visual C++ -> CLR -> CLR空项目,导入lua-cjson的C源码后,那么编译时会报如下错误:
“错误 1 error D8045: 不能使用 /clr 选项编译 C 文件“src\fpconv.c” d:\Workspace\Project1\Project1\cl Project1”
请问该怎么解决这个问题呢?或者有其他的解决方案?感谢大神解答~
目前情况:lua-cjson的源码已经下好,在VS2013上已经编译成dll,并在windows editor下可以正常运行。但打apk包时发现该dll文件并没有被打进apk内。在unity下查了一下这个dll的属性,发现Type是Native,而不是Managed (AsseblyInfo Targets .NET 3.5),搜了一下应该是在生成dll时工程创建的有问题。
如果创建的工程是Visual C++ -> Win32 -> Win32项目,导入lua-cjson的C源码后,那么生成的就是非托管的,也就是Native的dll,此时无法被打进apk中;
如果创建的工程是Visual C++ -> CLR -> CLR空项目,导入lua-cjson的C源码后,那么编译时会报如下错误:
“错误 1 error D8045: 不能使用 /clr 选项编译 C 文件“src\fpconv.c” d:\Workspace\Project1\Project1\cl Project1”
请问该怎么解决这个问题呢?或者有其他的解决方案?感谢大神解答~
...全文
相关推荐
VS2010使用VB.NET调用C++的DLL例子
压缩包中的"Dll_Test"可能包含了实现这一过程的示例代码,包括C++ DLL的源码和VB.NET调用的示例程序,供学习和参考。通过研究和实践这些示例,你可以更好地理解和掌握这种跨语言调用的技术。
您的第一个托管C ++ Web服务
标题 "您的第一个托管C ++ Web服务" 涉及到的是使用C++编程语言构建一个在.NET框架下运行的Web服务。
C#调用DLL无需lib库[源码]
而非托管DLL的调用则通过DllImport属性实现,它在运行时动态地绑定到DLL中的函数,这也是不需要.lib文件的。当C#项目添加DLL引用时,VS会优先识别托管程序集,而非.lib文件。
C#主界面调用MyDll.dll的代码小例子(开发工具VS2003).
这个例子对于理解C#与非托管代码交互,以及.NET应用程序调用本地DLL的方法具有重要意义。
C#调用TSC打印机编程源码vs2013
标题中的"C#调用TSC打印机编程源码vs2013"指的是使用C#语言在Visual Studio 2013环境下开发的程序,目的是控制TSC品牌的条形码或标签打印机进行打印工作。


移动开发其他问题
