草庐IT

Boost_USE_STATIC_LIB

全部标签

c++ - 从 C++ 调用 lib 文件中的 c 函数

我必须从C++调用在lib文件中声明的c函数。我必须为此设置哪些指令/属性/配置? 最佳答案 你有库的头文件吗?如果是这样,它应该有extern"C"{blahblah}在其中填充内容以允许它被C程序使用。如果没有,那么您可以将其放在您自己代码中header的include语句周围。例如extern"C"{#include"imported_c_library.h"} 关于c++-从C++调用lib文件中的c函数,我们在StackOverflow上找到一个类似的问题:

c++ - 我的程序找不到boost库

我尝试编写作为Boost测试库示例的代码:#includeBOOST_AUTO_TEST_CASE(test){BOOST_CHECK(true);}我构建了源码,得到了执行文件test.exe。我尝试执行该文件,但收到一条错误消息。Theprogramcan'tstartbecauseboost_unit_test_framework-vc80-mt-1_44.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.但是,我已经在我的boost库目录中准备好该文件。这个案例有什么问题?背景:对于我的

windows - 我怎么能说 64 位,使用 c :\program files (x86) and for 32-bit use the c:\program files?

我必须启动32位图标模块,在64位中也必须启动32位图标模块,但路径是使用JNLP/ws时的一个问题。InnoSetup,如果它的64位PC使用c:\programfiles(x86)\而不是(x64)我该如何设置。对于普通的一般32位使用c:\programfiles\ArchitecturesInstallIn64BitMode=x64[Files];InstallMyProg-x64.exeifrunningin64-bitmode(x64;seeabove),;MyProg.exeotherwise.Source:"MyProg-x64.exe";DestDir:"{app}"

c++ - Code::Blocks 和 Boost Asio。它只是行不通

我无法让Boost.Asio在Code::Blocks中编译。我安装并编译了BoostC++库,并运行了给定的测试示例。现在我正在尝试让Boost.Asio运行。这是编译器调用:mingw32-g++.exe-L"C:\ProgramFiles(x86)\boost\boost_1_49_0"-obin\Debug\server.exeobj\Debug\server.oD:\CodeBlocksIDE\CodeBlocks\lib\libboost_filesystem-mgw44-mt-1_49.aD:\CodeBlocksIDE\CodeBlocks\lib\libboost_s

node.js - 创建项目 cordova-lib 时出错 cordova-app-hello-world missing

我想在Windows10上启动一个新的cordova项目我运行命令cordovacreateMyAppcom.myappmyapp我收到以下消息Creatinganewcordovaproject.Couldnotfinddirectory:C:\ProgramFiles\nodejs\node_modules\cordova\node_modules\cordova-lib\node_modules\cordova-app-hello-world我的堆栈:Node4.2.1npm3.3.8cordova5.3.3我该如何解决? 最佳答案

windows - 在 Eclipse/CDT/gcc 中使用 Visual Studio 构建的 .lib

我在最初使用VisualStudio开发的Windows上使用gcc编译程序时遇到了一些问题。到目前为止,我已经能够解决几乎所有问题,例如缺少头文件等,但现在我陷入了最后一件事:gcc无法链接到我的程序使用的第三方库之一(FlyCapture2.lib)。它告诉我它在那里找不到任何函数/方法。我已经检查了库是否真的在库路径上以及诸如此类的事情,但它仍然不起作用。我四处搜索了一下,了解到它可能与使用Microsoft编译器创建的.libs的格式有关。有没有办法将这样的库转换为与gcc兼容?还有什么我可能错过的吗?(我已经找到了这个similarquestion,但是它的解决方案在这里不起

c++ - boost::regex 库中的内存泄漏

我不太喜欢Boost库。我需要它来匹配我在VS2008中编译的遗留C++/MFC项目中的正则表达式。这是一个简短的代码片段://NeedUnicodesupportCStringss;boost::tregexr(L"(.*?)");boost::tmatchwhat;CStringchat_input(L"Hello");if(boost::regex_match(chat_input,what,r))//Memoryleakonthisline{//extract$1asaCString:ss=L"Match";//CString(what[1].first,what.length

windows - 链接命令行太长 : how to use response files when linking in scons on windows

赞others我有一个超过Windowscmd行限制的链接行。对于大多数情况,我们已经通过使用目标文件的子集构建中间文件(又名静态库)并与这些文件执行最终链接来解决问题。然而,将此策略与GoogleTest一起使用会导致找不到测试,特别是在存档的目标文件中定义的测试。更新:Thisiswhy.我可能会使用这个解决方法,但我仍然想了解如何使响应文件在scons下工作。LongCmdLinesOnWin32fix是有问题的。我们有一个cygwin环境和包含空格的路径名,因此一些编译器绝对路径包含引号。LongCmdLinesOnWin32中的脚本首先需要扩展以处理嵌入的引号和空格(否则它会

c++ - boost 文件系统错误(temp_directory_path 返回 <Bad Ptr>)

我正在尝试使用Boost获取当前的临时文件夹:boost::system::error_codeerror;autotmp_path=boost::filesystem::temp_directory_path(error);if(boost::system::errc::success!=error.value()){std::cout在visualstudio2013调试session期间调查tmp_path的值时,tmp_path的值似乎不正确-VS显示{m_pathname=}.以下代码也失败,出现异常“stringtoolong”,这可能与问题有关:std::stringtm

c++ - Boost::filesystem::is_empty() 为符号链接(symbolic link)返回 false

直到一周前,我一直在我的项目中使用Boost1.46.1。将所有内容升级到Boost1.55.0后,我注意到某些功能无法像以前那样工作。我的软件加载通过SymLinks放置的配置文件。我正在使用Microsoftmklink做这个。我今天发现虽然1.46.1版中的boost::filesystem::is_empty()为我的链接返回false,但它现在返回true在1.55.0中。不幸的是,我无法更改使用该代码的组件。结果是我的配置文件不再加载。有没有办法以Boost能够识别的方式创建链接?如果我可以访问代码:我需要如何更改它才能再次运行?更新:回复评论的更多信息:SymLink有效