草庐IT

AppInit_DLL

全部标签

c++ - 如何同步EXE/DLL文件的SVN版本和版本资源?

假设我有一些构建exe或dll文件的C++项目。该项目已checkinSVN存储库。我想自动将来自SVN的修订与嵌入在我的exe/dll文件中的版本资源同步,即版本应该类似于$major.$minor.$svn_revision。关于如何实现这一目标的任何想法?是否有现成可用的解决方案? 最佳答案 如果你安装了TortoiseSVN,那么会安装一个程序,SubWCRev。如果在你的文件中,你有这个值:$WCREV$如果您执行以下操作,它将被最高提交的修订号替换:SubWCRev.\yourfile.txt.templateyourf

c++ - 应用程序无法启动,因为未找到 MSVCP100D.dll,重新安装应用程序可能有效

我对此进行了谷歌搜索,并意识到这可能有多种原因,因此我将描述我的情况。当我的应用程序尝试加载在另一个版本的VisualStudio(2010)中构建的.dll文件时会发生这种情况,如果我在VisualStudio2008上构建相同的项目,则DLL文件可以正常加载...我不知道这是否重要,但VisualStudio2010DLL文件版本是在Windows7x32上构建的,而WindowsVista64位与VisualStudio2008是另一边。 最佳答案 如果您动态链接到MSVC运行时,那么您需要在将运行您的应用的每台机器上安装该运

c++ - 应用程序无法启动,因为未找到 MSVCP100D.dll,重新安装应用程序可能有效

我对此进行了谷歌搜索,并意识到这可能有多种原因,因此我将描述我的情况。当我的应用程序尝试加载在另一个版本的VisualStudio(2010)中构建的.dll文件时会发生这种情况,如果我在VisualStudio2008上构建相同的项目,则DLL文件可以正常加载...我不知道这是否重要,但VisualStudio2010DLL文件版本是在Windows7x32上构建的,而WindowsVista64位与VisualStudio2008是另一边。 最佳答案 如果您动态链接到MSVC运行时,那么您需要在将运行您的应用的每台机器上安装该运

c++ - 如何以编程方式确定 Windows 可执行文件 DLL 依赖项?

如何使用编程方法确定二进制文件依赖于哪个DLL?需要明确的是,我不是试图确定正在运行的exec的DLL依赖关系,而是任何任意exec(可能缺少所需的DLL)的依赖关系。我正在寻找在C/C++应用程序中实现的解决方案。这是我的应用程序需要在运行时完成的事情,而第三方应用程序(如依赖)无法完成。 最佳答案 看看IMAGE_LOAD_FUNCTIONAPI。它将返回一个指向LOADED_IMAGE的指针结构,您可以使用它来访问PE文件的各个部分。您可以找到一些描述结构布局的文章here,和here.您可以下载文章的源代码here.我认为这

c++ - 如何以编程方式确定 Windows 可执行文件 DLL 依赖项?

如何使用编程方法确定二进制文件依赖于哪个DLL?需要明确的是,我不是试图确定正在运行的exec的DLL依赖关系,而是任何任意exec(可能缺少所需的DLL)的依赖关系。我正在寻找在C/C++应用程序中实现的解决方案。这是我的应用程序需要在运行时完成的事情,而第三方应用程序(如依赖)无法完成。 最佳答案 看看IMAGE_LOAD_FUNCTIONAPI。它将返回一个指向LOADED_IMAGE的指针结构,您可以使用它来访问PE文件的各个部分。您可以找到一些描述结构布局的文章here,和here.您可以下载文章的源代码here.我认为这

c++ - 如何在 C++ 中构建与运行时版本无关的 DLL?

我的产品是一个C++库,它在Windows上以dll形式分发。它很少使用c-runtime(基本的iostream就是这样),所以我确信所有最新版本的CRT都可以。由于我的客户应该使用我的dll构建他的应用程序,我不想将任何特定的运行时版本强加给他。我希望我的dll绑定(bind)到我的客户端应用程序正在使用的任何运行时库版本(我可以假设他将为他的CRT使用动态链接)。毕竟,这不就是动态链接的全部意义吗?这可能吗?编辑:将dll与静态运行时库链接也不起作用,因为静态运行时(来自dll)和动态运行时(来自客户端应用程序)将混合在一起,这很糟糕。编辑:我主要要问的是如何告诉运行时加载程序将

c++ - 如何在 C++ 中构建与运行时版本无关的 DLL?

我的产品是一个C++库,它在Windows上以dll形式分发。它很少使用c-runtime(基本的iostream就是这样),所以我确信所有最新版本的CRT都可以。由于我的客户应该使用我的dll构建他的应用程序,我不想将任何特定的运行时版本强加给他。我希望我的dll绑定(bind)到我的客户端应用程序正在使用的任何运行时库版本(我可以假设他将为他的CRT使用动态链接)。毕竟,这不就是动态链接的全部意义吗?这可能吗?编辑:将dll与静态运行时库链接也不起作用,因为静态运行时(来自dll)和动态运行时(来自客户端应用程序)将混合在一起,这很糟糕。编辑:我主要要问的是如何告诉运行时加载程序将

c++ - Lib 和 DLL 链接到 exe 错误 "cannot read at 0x300"

我有一个关于如何使用.dll/.libs的一般性问题。我正在创建一个用于我的项目的.dll,但是,我注意到当我去编译时,我需要静态链接与.dll关联的.lib以供项目编译(否则会出现链接错误“fatalerrorLNK1107:无效或损坏的文件:无法读取0x300")。所以以后当我重新分发我的项目,然后在将来更新它时,我是否需要发布一个新的.exe和一个新的.dll而不仅仅是一个新的.dll?如果是这样,那为什么还要使用.dll呢? 最佳答案 .lib包含由DLL导出的函数等的stub。您将.lib链接到您的EXE中,现在您的EXE

c++ - Lib 和 DLL 链接到 exe 错误 "cannot read at 0x300"

我有一个关于如何使用.dll/.libs的一般性问题。我正在创建一个用于我的项目的.dll,但是,我注意到当我去编译时,我需要静态链接与.dll关联的.lib以供项目编译(否则会出现链接错误“fatalerrorLNK1107:无效或损坏的文件:无法读取0x300")。所以以后当我重新分发我的项目,然后在将来更新它时,我是否需要发布一个新的.exe和一个新的.dll而不仅仅是一个新的.dll?如果是这样,那为什么还要使用.dll呢? 最佳答案 .lib包含由DLL导出的函数等的stub。您将.lib链接到您的EXE中,现在您的EXE

解决Win运行程序出现找不到d3dx9_27.dll的问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个d3dx9_27.dll文件进行安装(前提是找到适合的版本),当我们执行某一个.exe程序时,相应的DLL文件就会被调用,因此安装好之后就能重新打开你的软件或游戏了.那么出现d3dx9_27.dll丢失要怎么解决?一、手动从本站下载dll文件1、从下面列表下载d3dx9_27.dll文件32位文件:d3dx9_27.dll9.8.299.064位文件:d3dx9_27.dll9.8.299.02、将下载的