草庐IT

dll丢失

全部标签

windows - 如何用cmake生成.dll文件?

我正在尝试使用cmake中的源文件生成dll文件。它给出了配置完成和生成完成。但是.dll和.lib文件没有生成。请提供此问题的解决方案。我在root中的cmake配置是:CMAKE_MINIMUM_REQUIRED(VERSION2.8)PROJECT(mydllC)INCLUDE_DIRECTORIES(../common/include)ADD_SUBDIRECTORY(mydllbin)cmakeconfigurationinmydlldirectoryis:SET(my_lib_srcdllmain.cppmydll.cppfuncs.def)ADD_LIBRARY(mydl

windows - 动态与静态 DLL 链接不同

我有一个CDLL,想从DelphiXE3Update2调用它。奇怪的是,在我的项目中动态调用它似乎与静态调用它不同。这是要重现的“最小”代码(我已经更改了Lib/functionnames):programtestProject;{$APPTYPECONSOLE}{$R*.res}usesSystem.SysUtils,System.classes,Windows;functionkeylist_open(keylist:PPointer):Integer;external'libLib';varHandle:HINST;DLLName:PChar='libLib.dll';typeT

c - lua5.2在windows中调用c dll

我的C代码如下:skype分析器.h#include"lua.h"#include"lualib.h"#include"lauxlib.h"#include"stdio.h"#include"stdlib.h"//dllexportfuncint_declspec(dllexport)luaopen_skypeAnalyzer(lua_State*L);skype分析器.c#include"skypeAnalyzer.h"#include#includeintrun(lua_State*L){printf("------->>>Hi!%s\n",lua_tostring(L,1));r

c# - 无法启动应用程序,KernelBase.dll 错误

我在Windows7/8x64上运行应用程序时遇到问题,但我可以在Windows10x64上启动。在VisualStudio中,平台目标设置为任何CPU,但它对我没有帮助。我在我的开发机器操作系统上构建的应用程序:Windows10x64Windows日志应用程序错误:Faultingapplicationname:Trainingcharts.exe,version:0.4.3.18,timestamp:0x55f2b40fFaultingmodulename:KERNELBASE.dll,version:6.1.7601.18869,timestamp:0x556366fdExce

c# - DLL 加载通知

当系统中的任何进程加载特定DLL或所有DLL加载事件(我可以过滤掉)时,是否有可能在我的程序中获得通知?就像流程资源管理器如何从所有流程中获取通知一样。为此,我可以使用进程资源管理器,但我想在发生特定DLL加载事件时采取操作(显示弹出窗口)。我也在寻找任何可以为我完成这项工作的开源程序。非常感谢您。 最佳答案 是的,您可以通过Windows的ETW获取图像(.dll、.exe)加载事件(Windows事件跟踪)设施。ETW是一种快速、低开销的日志记录机制,大多数Windows内核都经过检测以发出事件。ETW具有发出事件集的“提供者”

java - 在 Java 中加载 .DLL

我想在Eclipse中调用一个.DLL方法。这是我的代码:classTestJNI1{publicnativevoidLireNoVersion();publicvoida(){System.loadLibrary("tttt.dll");LireNoVersion();}}publicGlobalAction(){this.setBackground(GlobalPreferences.PANEL_BACKGROUND_COLOR);newTestJNI1().a();}问题是我在编译时遇到这个错误:Exceptioninthread"AWT-EventQueue-0"java.la

php - 在 php 中加载 dll 的最佳方法是什么?

我正在服务器端使用CakePHP开发Web应用程序,我需要使用第三方提供的dll来访问他们的平台,所以我没有dll的源代码,但我可以'不要修改它。我对此进行了搜索,但没有找到一种简单的方法来执行此操作。在php中加载dll的最佳方法是什么?我应该构建一个php扩展作为第3方dll的包装器吗?还有其他方法吗?提前致谢。更新我发现我可以将dll用作COM对象,但每次客户端需要部署服务器时我都需要在Windows上注册dll,我想要一个不涉及注册dll的解决方案.更新我尝试注册dll,但出现错误(“未找到入口点DllRegisterServer”),这意味着它可能未被编译为用作COM对象。我

c - Lua 在加载 dll 扩展时崩溃

我正在尝试在Windows上创建一个Luadll扩展。我正在使用Lua5.3。我的编译器来自MinGW,是gcc4.9.3。我的dll扩展的C代码是这样的:#include#includestaticintdub(lua_State*L){constdoublea=lua_tonumber(L,1);lua_pushnumber(L,a*2);return1;}__declspec(dllexport)int__cdeclluaopen_mylib(lua_State*L){printf("One\n");lua_pushcfunction(L,dub);printf("Two\n")

c++ - 如何隐式加载仅签名的 DLL

我有一个与一组dll文件链接的应用程序。我在不通过不安全的LoadLibrary()调用的情况下隐式加载DLL。我正在考虑使用证书文件对DLL进行签名以避免DLL劫持。我怀疑隐式链接如何检查我的DLL是否已签名。 最佳答案 您应该使用MANIFESTDEPENDENCY链接器选项添加list依赖项,并将publicKeyToken设置为用于签署dll的key。例如像这样的东西:/manifestdependancy:type='win32'name='mydll'language='*'publicKeyToken='1234567

.net - 排序 DLL 版本的正确方法是什么

我一直明白版本(例如:1.2.3.4)中的每个数字都被视为常规int值。我们正在使用一些遵循不同约定的第三方DLL,这似乎会导致我们的修补过程出现问题(修补程序不会用新的DLL覆盖旧的DLL)。旧版本的DLL是1.38DLL的新版本是1.4我理解为1.4我讨厌因为无知而犯错误,我也讨厌盲目遵循惯例而不理解其背后的含义。所以现在是我要求澄清的时候了。对此有何看法? 最佳答案 惯例是1.4!=1.40。版本是一组数字,而不是单个数字。如果他们想增加到1.4,他们应该一直使用1.3.8。 关于