草庐IT

shared_lib

全部标签

c++ - 将一组函数同时编译成.LIB和.DLL

是否有任何预处理器技巧或可以同时编译一组函数的lib和dll版本的东西? 最佳答案 编译器不必知道您是在创建静态库还是动态库——它只创建目标文件。然后您可以获取这些目标文件并将它们传递给库管理器(创建静态库)或链接器(并创建共享对象/DLL),是的,您可以使用相同的目标文件来执行这两项操作,只要因为您使用链接器定义文件来控制DLL导出。使用VisualStudio的一种简便方法是建立一个依赖于静态库的DLL项目,然后选择"UseLibraryDependencyInputs"。该依赖项的选项,以确保包含所有全局对象,而不仅仅是那些在

windows - 如果lib/ext中存在struts.jar 1.2.7,则不会出现Websphere管理控制台

我正在将应用程序迁移到WAS7.0(FixPack13)。应用程序使用了许多位于appserver\lib\ext目录中的jar。如果在调用was管理控制台时存在struts.jar(1.2.7),则会崩溃,并显示错误404屏幕(如下)。如果我从lib\ext中删除struts.jar,管理控制台就会工作,当然我的应用程序需要它。wasjarloader设置为parentfirst,myapp为parentlast。提前谢谢你的建议。错误屏幕和转储,注意登录屏幕显示正常,这是在单击“登录”之后:错误404处理请求时出错:%2IBM%2FConsole%2FIndex.do消息:org.

c++ - 为什么 .o(目标文件)链接速度比 .lib(静态库)快?

在我的工作场所,我们的产品编译成可执行文件,子项目链接为静态库(.lib)或共享库(.dll)。我们使用MicrosoftC++编译器。最近,我的一位同事将一个子项目目标从.lib(静态库)转换为.o(目标文件),并且该子项目的链接时间急剧减少。早些时候,.lib链接需要大约1.5分钟。通过链接到.o,链接时间几乎为5-6秒。为什么链接.lib比链接.o慢? 最佳答案 如果您所做的只是编译源代码以创建目标文件,那么您根本就没有执行链接。这意味着任何对源代码中存在的外部函数和变量的引用都不会起作用,因为它们的地址尚未解析。https:

c++ - 关于将 FFmpeg 编译成静态构建(仅限 .lib 文件)以便在 Visual Studio 中使用的说明?

所以我找到了thispost但它似乎有点旧......所以我想知道在哪里可以获得关于在Windows下将ffmpeg构建为静态.lib文件(用于C和C++项目)的100%最新说明。重点是将ffmpeg作为唯一的lib文件而不是lib+dll。那么从哪里得到这样的说明,谁能提供一下? 最佳答案 您遇到了什么问题?以下站点可能有您需要的内容。它是用于win32的mingwffmpeg静态库的自动构建。http://ffmpeg.arrozcru.org/autobuilds/这是一个wiki链接,其中包含许多有关如何在Windows上编

java - 在 Windows 7 上从 Java 启动 CYGWIN 构建的可执行文件失败并显示 "error while loading shared libraries: ?: No such file or directory"

有问题的代码在早期版本的Windows上或多或少地以完全相同的配置工作,但是,还不知道它是否可以在Windows7上运行!这就是我现在需要解决的问题。简而言之,一些C代码在启动Java程序之前执行一些配置和安全检查,传递一些在Java中几乎不可能轻松完成的数据。反过来,Java在适当的时间启动相同的C代码,然后它自己启动一个不同的Java程序。第二个程序启动需要完全独立,(想想nohup)因此是第二个启动。现在发生的事情是C程序以普通方式启动Java程序,但是当Java尝试启动C程序时,它会出现如下错误:/cygdrive/c/opt/ST/v3.3/bin/ST.exe:errorw

php - 错误 0x2006D002 :BIO routines:BIO_new_file:system lib with PHP on Windows

尝试通过简单的方式加载我的私钥时出现以下错误。这是我的代码。publicfunctionloadPrivateKey($fileName,$password=null){if(!is_file($fileName))thrownewSignException('Privatekeynotfound',SignException::KEY_NOT_FOUND);$fileContent=file_get_contents($fileName);if(!is_null($password))$this->prvKey=openssl_get_privatekey($fileContent,

c++ - 在 Winx64 中使用 Boost::asio:我卡住了,需要弄清楚如何为 x64 构建 libboost_system_xxxx.lib

不像这个问题:LinkerErrorwhilebuildingapplicationusingBoostAsioinVisualStudioC++2008Express我需要lib文件的x64版本...我什至不确定如何开始。我在这里阅读:http://www.boost.org/doc/libs/1_39_0/more/getting_started/windows.html或者,更一般地说,我如何为x64构建boost? 最佳答案 我不在Windows上,但我想在bjam调用中添加address-model=64应该可以解决问题。

windows - 为 Windows : SnmpAPI. Lib 或 MgmtAPI.lib 编写 SNMP 代理?

我需要在Windows上为我们公司的产品编写一个SNMP代理。SnmpApi.lib-据我了解,SnmpApi.lib允许您从头开始创建完整的代理,并且可能需要更多工作。然而,这会接管SNMP端口并且不允许其他代理运行并且需要更长的时间来编码。MgmtAPI.lib-此库允许创建对已运行的WindowsSNMP服务的扩展,似乎是一种创建Windows代理的更优雅的方法。但是,我发现很少有关于如何编写此类代理的官方MS文档/示例。我还在另一个论坛上看到这可能已被弃用。我在野外看过一本名为“WindowsNTSNMP”的Oreilly书,但我听说它使用了已弃用的库或技术。我不知道这是不是真

windows - 使用 Share-Delete 打开文件是否允许其他人写入?

FileShare枚举提供各种标志,例如读取、写入、删除...。通常我会认为共享文件删除只允许删除而不能做其他事情(比如阅读)。但是,我依稀记得Windows只区分文件的只读访问权限和完全访问权限,因此实际上为删除而共享也允许写入文件。遗憾的是,这是很多年前的事了,我既没有找到原始来源,也没有找到任何相关信息。是否有关于实际行为的可靠规范?它取决于操作系统还是FS? 最佳答案 查看CreateFileFunction的文档.FILE_SHARE_DELETE:Enablessubsequentopenoperationsonafil

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