草庐IT

custom_lib

全部标签

c++ - cmake add_custom_command 失败,目标被删除

我正在使用CMake构建测试可执行文件。在构建过程中,我想运行可执行文件,它返回测试是否通过。如果没有,我希望构建失败。但是,当我使用add_custom_command(...POST_BUILD...)并使用Makefile生成器时,测试可执行文件将被删除(在这个问题中解释:WhydoesGNUmakedeleteafile).有没有办法让CMake将可执行文件视为.PRECIOUS,或者以其他方式更改CMakeLists.txt,以便在测试失败时不会删除可执行文件?作为引用,我的CMakeList.txt如下所示(根据实际情况进行了简化):add_executable(UnitT

c++ - 如何在静态库 (.lib) 中同时支持 Unicode 和多字节字符集?

我正在使用visualstudio2015,我想编写可在Unicode项目和多字节项目中使用的C++静态库,我该怎么做?例如我有这段代码:namespaceReg{LONGWINAPICreateKey(_In_HKEYhKey,_In_LPCTSTRlpSubKey,_In_REGSAMsamDesired,_Out_PHKEYphkResult){returnRegCreateKeyEx(hKey,lpSubKey,0,NULL,REG_OPTION_NON_VOLATILE,samDesired,NULL,phkResult,NULL);}} 最佳答案

Glimmerjs:如何将Glimmer用作Lib(例如AMD)而不使用Ember-Cli/Broccoli构建

Glimmerjs提供一堆NPM软件包(实际上安装了20个软件包,以用于官方教程中的简单演示https://glimmerjs.com/guides/)。每个软件包都包含dist/文件夹在以下子文件夹中的几个脚本的变体:amdcommonjs模块类型它使我认为我可以将Glimmer用作AMDLib而无需其应用程序置构建内容。我不再使用Ember-Cli/Baroccoli或一般而言的建筑物/包装,而我只是想采取最小的步骤来在现有的应用中采用微光,我不想引入其所有建筑管道魔术。因此,我的问题是如何在将其模板作为字符串作为字符串的运行时创建和渲染一个微弱的组件。P.S.关键点不是使用AMD的光线,

c++ - 如何将库构建为 .dll 而不是 .lib

我得到了这个C++物理库liquidfun它们包含一个用于构建Windows库的VisualStudio解决方案。当我构建它时,它给了我一个.lib,但我想要一个.dll,所以我可以将它与Unity3d一起使用。有没有办法在visualstudio中更改项目的build设置以获得.dll而不是.lib?编辑:在项目属性中更改它的非常简单的修复实际上对我有用!这可能是因为库本身写得很好。当我在发布这个问题之前尝试同样的事情时它没有用,但这是由我的C++代码问题引起的 最佳答案 是的,您可以生成dll而不是lib。要在VS中执行此操作,

c++ - c++ std_lib_facilities.h 还在用吗?

我正在通过BjarneStroustrup的《编程:原则与实践》学习C++。他们给出了一个示例程序://readandwriteafirstname#include"std_lib_facilities.h"intmain(){cout>first_name;//readcharactersintofirst_namecout当我在visualstudio中键入相同的代码时,头文件“std_lib_facilities.h”出现错误。我很困惑用这个头文件。还在用吗?除了这个header,我还可以使用什么? 最佳答案 在本书的附录(具

c++ - 文件 basic_socket.hpp 中的 lib boost asio 1.47.0 出错

当我尝试编译时,以下代码出现错误:voidServer::accept(void){Network::ptrconnection=Network::initialize(this->my_acceptor.get_io_service());this->my_acceptor.async_accept(connection->socket(),bind(&Server::endCmd,this,*connection,placeholders::error));}voidServer::endCmd(Networkconnection,constboost::system::error

c++ - 如何在 VC++ 6.0 项目中使用 DLL 而无需其 .h 和 .lib 文件?

我不知道如何执行以下操作:我正在使用MSVisualC++6.0我有一个可编译的Win32DLL项目。我有另一个项目,这次是一个Win32控制台项目,它使用通过包含它的头文件和链接的.lib文件的DLLDLL。现在我想要另一个项目,类似于第二个但不使用头文件和lib文件。这可能吗?我读到的所有地方都需要dll+lib+h或dll+h。如果您认为如果您知道这些接口(interface),那么一个DLL文件就足够了吗?顺便说一句,“使用DLL”是指使用DLL中定义的类和函数。 最佳答案 如果您只有简单的“externC”函数,这是可能的

c++ - ZMQ : Sending custom CPP object over the ZMQ queue

我有一个名为GenericMessage的类,显示在下面的第一个代码片段中(在GenericMessage.hxx中定义)。我有一个名为TestFE.cpp的.cpp文件(参见下面的第二个代码片段),它试图通过ZMQ队列发送类GenericMessage的实例(另请参见下面的第四个代码片段-ZmqHandler.hxx)。TesfFE.cpp通过包含ZmqHandler.hxx在此处实现ZMQ推送模式。我还有另一个名为TestBE.cpp的.cpp文件(请参阅下面的第三个代码片段),它通过ZMQ队列接收上述GenericMessage实例。TestBE.cpp在此处实现ZMQ拉模式以通

c++ - OpenGL32.lib 链接不正确

这个问题在这里已经有了答案:Whatisanundefinedreference/unresolvedexternalsymbolerrorandhowdoIfixit?(38个答案)关闭7年前。出于某种原因,我的OpenGL库文件没有正确链接到VisualStudio2013。这是我所有的代码:#include#include#include#include#include#include#pragmacomment(lib,"OpenGL32.lib")#pragmacomment(lib,"glu32.lib")#pragmacomment(lib,"freeglut.lib")

C++ std lib <mutex>, <conditional_variable> 库和共享内存

如果您想在共享内存中的进程之间共享互斥体,POSIX线程的CAPI需要设置一个特殊标志-请参阅sem_init()。我真的不知道差异是什么,但我在尝试在共享内存中使用C++std::condition_variable时遇到了问题——它的段错误。我在C++文档或构造函数中看不到任何提及此内容的内容。我想知道如何/是否可以在共享内存中使用C++线程互斥锁。这是我的测试代码供引用。注意squeue只是一个简单的(POD)静态大小的循环队列,省略了不相关的内容:#include#include#include/*Formodeconstants*/#include/*ForO_*consta