草庐IT

DLL_EXPORT

全部标签

c++ - 如何在我的 C++ 项目中包含 SQLite DLL?

我正在尝试通过DLL将SQLite添加到我的项目中。我从downloadpage下载了SQLiteDLL-3,提取其内容(一个DLL和一个.h文件),然后在其上运行lib.exe以生成一个.lib文件。然后我将包含.lib和.dll文件的目录设置为附加库目录,在项目设置中的链接器>>常规下。然后我从下载页面下载了SQLiteSource-3,并将SQLite3.h文件提取到包含.Lib和.DLL文件的目录中,并将该目录添加为C/C++>>常规下的附加包含目录。我在主文件中添加了#include,然后在链接器>>输入中添加了sqlite3.dll作为附加依赖项。基本上我关注了this,但

c++ - 将 Windows Dll 转换为 C++ Visual Studio 2008 的 .lib

我知道有一个工具叫Dlltolib,但开发人员要价1000美元。我只需要转换一个库,一次,所以不容易证明这个价格是合理的。我试过IMPLIB32.EXE,但我只得到空的.lib文件。我怎样才能做到这一点?也许我可以编写一个简单的转换应用程序?添加1:Dll通常是stdcall而不是cdecl并且是用较旧的C语言编写的,例如不是C#或.NET或C++的语言。我现在需要从C++应用程序中调用它们。一个例子是SQLite.dll或zlib.dll。我无权访问这些dll的.lib文件。补充2:我为VS2008重新编写了这段代码http://floodyberry.wordpress.com/2

c++ - 什么是 MSVCP100D.dll?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:ApplicationhasfailedtostartbecauseMSVCP100D.dllwasnotfound,reinstallingappmayhelp…我使用MicrosoftVisualC++2010ExpressEdition编译了我的程序,并尝试在另一台没有相同编译器的机器上运行它。当我双击它时,有消息说MSVCP100D.dll文件丢失。这是什么类型的文件?为什么应用程序无法启动?如何在此处启动应用程序? 最佳答案 这是C++运行时库d

c++ - 从 dll 返回 std::string/std::list

简短的问题。我刚刚得到了一个我应该与之交互的dll。Dll使用来自msvcr90D.dll(注意D)的crt,并返回std::strings、std::lists和boost::shared_ptr。运算符new/delete不会在任何地方重载。我假设crtmixup(发布版本中的msvcr90.dll,或者如果使用更新的crt重新构建组件之一等)最终会导致问题,并且应该重写dll以避免返回任何可能调用new/删除(即任何可以在我的代码中对在dll中分配的内存块(可能使用不同的crt)调用delete的东西)。我是对还是错? 最佳答案

c++ - 在 VS 中编译 C++,运行时不需要 MSVCP120D.dll

我正在尝试制作一个可以在任何Windows机器上运行而无需安装可视化c++东西的二进制文件(我假设这就是MSVCP120D.dll,但我的搜索对于这实际上是什么并不是很有成效).我为一项任务制作了一个游戏,并想让其他人(没有安装VS的非开发人员)帮助我测试它,但他们不断收到错误消息,说上面的dll丢失。我没有使用任何VisualC++的东西,并且设置了/Za标志以确保它只是ANSIC++。VisualStudio是否支持编译ANSIC++,如果支持,我该如何让它不使用VisualC++的东西,如果它不支持这个,我应该使用什么编译器? 最佳答案

c++ - MASM 修复 DLL 中的 64 位截断

我正在通过将Adob​​eFlashocx加载到我的C++程序中来使用它。ocx应该是64位的,但由于某种原因,当我使用x64平台编译时它会出现问题。我已阅读此内容,发现某些函数很可能通过某些结构接收DWORDuserData而不是void*userData,然后将其转换为对象指针。这在32位环境中运行正常,但在64位环境中崩溃。ocx内部导致崩溃的函数调用的反汇编如下:movecx,r8d第一个操作仅将R8D中的低32位复制到ECX(ECX为32位)。cmpdwordptr[rcx+11BCh],0第二个操作访问64位寄存器,其中低32位包含正确的地址,高32位包含一些垃圾。当然会导

c++ - dll 缺少对 Windows 7 文件的依赖项

我已经构建了一个C++dll以从dotnet使用。当我运行程序时出现错误,找不到dll。dll在那里-但我使用依赖项步行器检查了它-并得到了以下内容:API-MS-WIN-CORE-COM-L1-1-0.DLLAPI-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLLAPI-MS-WIN-CORE-WINRT-L1-1-0.DLLAPI-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLLAPI-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLLAPI-MS-WIN-SHCORE-SCALING-L1-1-0.DLLDCOMP

c++ - VS2012 MSVCR120D.dll 丢失

我正在尝试在VS2012中设置我的项目以成功编译和运行OSG代码以进行调试。我也在使用OSG调试库。编译和链接成功结束,但在我运行二进制文件后,我收到一条错误消息,提示MSVCR120D.dll丢失。我整天都在寻找解决此错误的方法,但对我来说没有意义,因为我使用的是应该使用MSVCR110D.dll的VS2012。我也没有这个dllC:\Windows\System32,只有MSVCR120.dll及其旧版本。如果我尝试使用non-debugosg库在Release模式下编译项目,一切都很好,我可以正常运行项目而不会出错。引用this问题我试图使用MFC和RuntimeLibrary设

c++ - 如何在 CMake 项目中使用外部 DLL

我一直在互联网上搜索,但找不到任何可以回答我的问题的内容(或者我不知道要搜索什么)。无论如何,这是我的问题:我想在我的CMake项目中使用3rdParty库(.dll文件)。我想要包含的库(https://github.com/pitzer/SiftGPU)是开源的,并且还提供我想要使用的二进制文件,并且如果相关的话,还可以使用CMake作为构建工具。我希望我已经足够清楚了。 最佳答案 首先,编辑您的CMakeLists.txt以包含您的第三方库。您需要两件事:头文件的路径和要链接的库文件。例如:#searchingforinclu

c++ - 使用 C++ (Win32) 导入 DLL

如何在C++中导入DLL(minifmod.dll)?我希望能够调用此DLL中的函数。我已经知道函数的参数列表,但我不知道如何调用它。有没有办法像在C#中一样在C++中声明导入的函数? 最佳答案 用于声明导入函数的c#语法在c++中不可用。以下是有关如何使用DLL的其他一些SO问题:ExplicitLoadingofDLLCompileaDLLinC/C++,thencallitfromanotherprogramCallingfunctionsinaDLLfromC++Callfunctioninc++dllwithouthead