草庐IT

shared-libraries

全部标签

c# - 在 Windows 上用 C# 加载 linux 动态库 (.so)

我正在使用swig为我的代码生成一个C#包装器。但是然后我还需要链接动态库,这是一个Linux.so文件。是否可以从C#执行此操作?谢谢编辑:在Windows上使用.so文件。 最佳答案 没有直接的方法可以做到这一点。您需要为所有native代码(so本身以及所有依赖项)创建nativeWindows版本。其他选项包括在Linux上编写所有代码,如果可能的话,包括C#部分(使用Mono)。或者创建某种客户端/服务器设置,其中您的native代码保留在Linux上(作为服务器应用程序),而您的C#代码在Windows客户端上运行。如果

java - 为什么我得到 java.lang.UnsatisfiedLinkError : Unable to load library?

我正在尝试使用JNA从我的Java应用程序调用.dll文件。我收到以下异常:Exceptioninthread"main"java.lang.UnsatisfiedLinkError:Unabletoloadlibrary'C:\Windows\System32\foo.dll':Thespecifiedmodulecouldnotbefound.虽然我在64位Windows7PC上运行它,但.dll和我的jdk都是32位的(OS_ARCH="i586")。.dll位于System32文件夹中。我正在使用Eclipse并将System32文件夹添加到Java构建路径属性中库选项卡下JR

c++ - OpenCL/GL 互操作 : write_imagef to shared gltexture is all white (1, 1,1,1)

我正在尝试使用OpenCL编写光线追踪器。但是,我遇到了一些麻烦。我想在OpenGL和OpenCL之间共享纹理内存,以避免不必要的内存来回复制。我的程序运行良好,我在每次调用GL和CL后进行检查,没有发现任何错误。如标题中所述,使用write_imagef写入内核中的纹理会在每个channel中产生1.0。我怀疑纹理格式有问题,但我一直在互联网上寻找有效的纹理格式,但我看不出有什么问题。我尝试了write_imageui和write_imagef以及纹理格式的不同组合,但没有成功。内核程序:__kernelvoidDraw(__global__write_onlyimage2d_tim

c++ - 为什么在使用 VS 2008 构建 DLL 时不遵循 "Use MFC in a Static Library"设置?

我的目标是创建一个MFC/C++DLL,它除了基本的Win32DLL之外没有任何依赖项。所以我在项目属性中选择了“UseMFCinaStaticLibrary”设置->General->UseofMFC:但是当我构建这个DLL并使用DependencyWalker检查结果时,我得到了这个:显示对以下MFCDll的依赖关系:MFC90U.DLLMSVCR90.DLLMSVCP90.DLL那么我做错了什么?附言。我正在使用VisualStudio2008 最佳答案 我想我明白了。让我感到困惑的是C++->CodeGeneration->

c++ - 什么是 “Microsoft C++ Visual Runtime Library: Runtime error!”

我的应用程序运行大约4小时后出现此错误。我不知道为什么会这样。该错误发生在windows7和windowsXP系统上。抱歉,我没有更多信息。我的应用程序运行大约4次后才收到此错误消息:MicrosoftC++可视化运行时库运行时错误!程序:XXXXX.exe此应用程序已请求运行时以异常方式终止它。请联系应用程序的支持团队以获取更多信息。任何帮助都会很棒,谢谢。一切顺利 最佳答案 调用了terminate()函数。MSDN记录了以下可能性:无法为抛出的C++异常找到匹配的捕获处理程序。在堆栈展开期间,析构函数抛出异常。抛出异常后堆栈损

windows - 有没有办法获得对以独占访问方式打开的文件的读取访问权限,即 FILE_SHARE_NONE

如果不采取肮脏和令人讨厌的方式,我相信这在用户模式下是不允许的,即使使用SE_BACKUP_NAME。我认为肮脏和令人讨厌的事情:找出哪个进程拥有句柄并编写代码以在该进程中运行并关闭句柄。读取/解析MFT/FAT表使用内核驱动 最佳答案 是的,有一种方法,尽管它可能不适合您的需要;它不脏也不讨厌,但它很重,也就是说,它的编码并不简单,如果您只是试图读取单个文件,它会产生不成比例的系统负载。但是,如果您需要这样做,这是我所知道的唯一合理且安全的解决方案:请参阅VolumeShadowCopyService上的MSDN文档.现在大多数备

windows - SetConsoleActiveScreenBuffer 使 ReadConsole 返回 ERROR_SHARING_VIOLATION

当我使用创建的缓冲区调用SetConsoleActiveScreenBuffer()时,它似乎使ReadConsole停止使用ERROR_SHARING_VIOLATION。我检查了句柄权限,据我所知,它们是正确的。如果我注释掉SetConsoleActiveScreenBuffer行,输入将完美运行。我可能在这里做错了什么?我还尝试过使用ReadFile而不是ReadConsole,并使用CreateFile而不是GetStdHandle获取输入缓冲区。两种方式,都会出现同样的错误。#includeintmain(){void*oldScreenBuffer;void*screenB

c++ - cmake:您已为没有任何源文件的库 cryptopp 调用了 ADD_LIBRARY

Windows64bit使用cmake编译c++项目:github.com/iHateInventNames/synergy-through-usb我在这篇文章中修复了之前的一个问题:Compileissues:LIBUSB_1withcmakeprojectonWindows因此,当我现在点击cmake时,出现以下错误:>cmake.--Foundlibusb-1.0:---Includes:C:/local/libs/libusbx---Libraries:C:/local/libs/libusbx/libusb-1.0.libYouhavecalledADD_LIBRARYfor

c - OpenSSL 1.0.2 和错误 "SSL_CTX_new:library has no ciphers"

我正在尝试编译并运行来自libest的示例(客户端简单)。为此,我在Windows上编译了OpenSSL,然后用它编译并链接了libest。问题是当我运行程序时,我得到了error:140A90A1:SSLroutines:SSL_CTX_new:libraryhasnociphers:查看调试器中的代码,我可以确认调用了OPENSSL_add_all_algorithms_noconf,以及:ERR_load_crypto_strings()ENGINE_load_builtin_engines();SSL_library_init();SSL_load_error_strings(

windows - CMake Imported Library Target 在 Windows 上提供未定义的 undefined symbol

我正在尝试将libuv导入到我的CMake项目中,以便我可以链接它。我从here安装了libuv1.12.0我把它放在C:\ProgramFiles\libuv\中。project(tls-serverLANGUAGESC)set(LIBUV_ROOT_DIR"C:\\ProgramFiles\\libuv")add_library(libuvSHAREDIMPORTED)set_property(TARGETlibuvPROPERTYIMPORTED_LOCATION"${LIBUV_ROOT_DIR}\\libuv.dll")set_property(TARGETlibuvPROP