草庐IT

dll丢失

全部标签

c++ - 在不复制 .dll 的情况下运行 .exe

我已准备好交付VisualStudio2015解决方案。我要求.exe应该开箱即用。但是,我收到“缺少dll...”错误。有什么办法可以让某人运行exe而无需下载一堆ddls吗?我能否以某种方式将.exe构建为可独立执行? 最佳答案 是的,您必须静态链接二进制文件。在项目设置(ConfigurationProperties->C/C++->CodeGeneration)中,分别使用/MT、/MTd作为Release、Debug配置。但是,这会增加可执行文件的大小。MSDNdocumentationon/MT,/MTdoptions

c# - 将 char * 从 C# 字符串传递到 C DLL

我需要在C#应用程序的DLL中使用C函数库。我在使用char*参数调用DLL函数时遇到问题:CDLL:extern"C"__declspec(dllexport)intCopyFunc(char*,char*);intCopyFunc(char*dest,char*src){strcpy(dest,src);return(strlen(src));}C#应用程序需要看起来像这样:[DllImport("dork.dll")]publicstaticexternintCopyFunc(stringdst,stringsrc);intGetFuncVal(stringsource,stri

c++ - 我可以跨 DLL 边界传递 FILE 对象吗?

我有一个C++框架,其中一些计算被委托(delegate)给(有时是自动生成的)C函数或具有外部“C”链接的C++函数。这些是低级例程,必须以极快的速度和最小的开销进行评估,它们通常驻留在单独的共享对象/DLL中。他们目前的签名是这样的:intmy_generated_function(constdouble*input,double*output,double*work);它将驻留在共享库中,在POSIX上使用dlopen或在Windows上使用LoadLibrary加载。在POSIX上使用dlsym(handle,"my_generated_function")或在Windows上

c# - 将 native DLL 和程序集合并为一个 DLL

我目前正在使用C++和C#进行编程。在数值计算部分使用原生C++。最初我打算使用C++/CLI为nativeC++类制作一个包装器,但我发现它会导致2到4倍的减速。所以我决定将我的原生C++编译成一个DLL并通过P/Invoke调用.NET/C#.我将在C#中进行数据预处理,在nativeDLL中进行数字运算。问题是,当我将我的作品交付给其他人使用时,我希望它是单个DLL。这可能吗?顺便说一句,我有原生C++的所有源代码。 最佳答案 通过生成网络模块,您可以非常轻松且完全支持地做到这一点。将组合的C++和C++/CLI代码编译成.o

c++ - 将静态库链接到 DLL

我正在使用VisualStudio5.0我有DLL和静态库。我的意图是使用静态库中定义的静态函数。我已将头文件包含在预期的源cpp中,并在项目依赖项中给出了路径。它仍然给我链接器错误。以下是链接错误errorLNK2019:unresolvedexternalsymbol"public:staticbool__cdeclgph::IsA(classPtOnDemand&,wchar_tconst*)"(?IsA@gph@@SA_NAAVPtOnDemand@@PB_W@Z)referencedinfunction"private:int__thiscallPtXMLP::HandleO

c++ - GCC 仅从 dll 导出修饰函数名称

我有一个dll,它导出一个函数...extern"C"int__stdcallMP_GetFactory(gmpi::IMpUnknown**returnInterface){}我使用Code::BlocksGCC编译器(V3.4.5)编译它。问题:生成的dll导出修饰函数名称...MP_GetFactory@4加载失败,应该是旧的...MP_GetFactory我已经为此研究了大约4个小时。我认为--add-stdcall-alias是解决此问题的选项。我的代码::block日志显示...mingw32-g++.exe-shared-Wl,--out-implib=bin\Debug

c++ - 如何从 Lua 调用 C++ DLL 中的函数?

我有一个用C++编写的DLL,它是遗留代码,无法修改源代码。我希望能够从Lua调用DLL内部的一些函数.例如,我想做这样的事情:--MyLuaFileinclude(myCppDll.dll)functioncallCppFunctionFromDll()localresult=myCppFunctionFromDll(arg1,arg2)--Dosomethingwithresulthereend这样的事情可能吗? 最佳答案 尝试外星人:http://alien.luaforge.net/还有C/Invoke:http://www

c++ - ILMerge 使用 2 个第三方 dll 的 C++

我编写了一个利用2个第3方dll的程序,我想使用ILMerge将两个dll合并到1个可执行文件中。我试过使用命令行:ilmerge/target:winexe/out:final.exenormal.exe3rd_party_dll_1.dll3rd_party_dll_2.dll但这会返回这个错误:`Couldnotloadassemblyfromthelocation'C:\Users\...'Skippingandprocessingtrestofarguments.`我是否遗漏了什么或者这些dll是否有可能无法合并? 最佳答案

c++ - 使用我的 DLL 的应用程序中新建/删除的奇怪问题

抱歉,问题标题含糊不清。我有一个奇怪的问题,我不知道为什么会这样。幸运的是,所涉及的代码非常简单。但在开始之前,让我简要介绍一下我的应用程序。它是一个提供大量数据的多线程应用程序。类似于内存数据库。可以在其中有多个“数据库”并在运行时加载/卸载它们。现在问题出在内存释放上。请参阅下面的代码(类名等已更改,但这无关紧要):voidSS::AllocTree(double***pba,inti,intd,intb,intsplit){this->m_tree=newmy_tree(pba,i,d,b,split);}voidSS::DeallocTree(){deletethis->m_t

c# - 在 C# 中为 p/invoke 创建一个基本的 C++ .dll

我是一名C#程序员,不幸的是,由于年龄和经验,我没有机会在我的学习中经历C++编程时代的奢侈——其中很多东西对我来说都是神秘和新鲜的.不是真的在这里争论学习或不学习的重要性,但我需要一些帮助来解决一件微不足道的事情。问题我需要帮助将我的C++代码打包成.dll。我没有使用C++的经验,并且在制作我可以从(VisualStudio2010)中p/调用的工作.dll时遇到了很大的困难。请继续阅读以获取更多详细信息以及我尝试打包的代码。详情我有一些代码需要在非托管环境中运行。一般情况下,一个简单的p/invoke就适合这个任务。连接一些[ImportDll]就可以了。最坏的情况我有时可以使用