jjzjj

ios - 在 opencv ios 中检测 C & CXX 编译器错误

我正在尝试在装有iOS6.1、Xcode4.6.3和MacOSX10.7.5的机器上编译opencv2.4.6.0。我一直在按照opencvwebsite上的安装说明进行操作安装opencvios框架。但是,我在运行脚本时遇到了一些编译错误:`pythonopencv/platforms/ios/build_framework.pyios`我试图通过在终端窗口中单独运行python脚本中给出的cmake命令来缩小编译问题的原因。所以如果我运行:cmake-GXcode-DCMAKE_TOOLCHAIN_FILE=../ios/cmake/Toolchains/Toolchain-iPh

iOS : ".cxx_destruct" - a hidden selector in my class

我用了这个问题的答案,ListselectorsforObjective-Cobject并列出我的类对象响应的所有选择器。在一个巨大的列表中,我发现了一个名为“.cxx_destruct”的选择器(是的,它以一个点开头),我是第一次看到它,也从未听说过它。我用谷歌搜索并找到了这个ObjectiveC:ARCerrors(Automaticreleaseproblems).我有一些疑问吗?是否与ARC相关?如果它是一个选择器,为什么它是隐藏的?它什么时候打电话?由谁,一个iOS本身?为什么它的名字像.cxx_destruct?“cxx”的完整形式是什么...?

mongodb - 何时在 mongodb cxx r3.0.2 驱动程序中使用 finalize

我很困惑,在onlinedoc,的代码片段中它显示了调用update_many方法时finalize的用法,如下所示:mongocxx::stdx::optionalresult=collection.update_many(document{}但是我在没有finalize的mongocxx驱动代码中看到了示例代码//Updatemultipledocuments.{//@begin:cpp-update-multiple-documentsbsoncxx::builder::stream::documentfilter_builder,update_builder;filter_bu

mongodb - 何时在 mongodb cxx r3.0.2 驱动程序中使用 finalize

我很困惑,在onlinedoc,的代码片段中它显示了调用update_many方法时finalize的用法,如下所示:mongocxx::stdx::optionalresult=collection.update_many(document{}但是我在没有finalize的mongocxx驱动代码中看到了示例代码//Updatemultipledocuments.{//@begin:cpp-update-multiple-documentsbsoncxx::builder::stream::documentfilter_builder,update_builder;filter_bu

c++ - 由于符号与 abi::cxx11 的链接问题?

我们最近因为GCC5.1,libstdc++andDualABI收到了一份报告.好像ClangisnotawareoftheGCCinlinenamespacechanges,因此它基于一组命名空间或符号生成代码,而GCC使用另一组命名空间或符号。在链接时,由于缺少符号而出现问题。如果我正在解析DualABI页面正确,看起来像是在_GLIBCXX_USE_CXX11_ABI和abi::cxx11上进行旋转的问题,还有一些额外的困难。更多阅读请访问RedHat的博客GCC5andtheC++11ABI和TheCaseofGCC-5.1andtheTwoC++ABIs.以下来自Ubuntu

c++ - 对 google::protobuf::internal::empty_string_[abi:cxx11] 的 undefined reference

我正在尝试使用ProtocolBuffers2.6.1和GNUGCC5.1.0(在Ubuntu14.10上)构建简单的测试应用程序,但出现以下错误:/home/ragnar/cpp-tools/gcc-linux/bin/g++-c"/home/ragnar/cpp-projects/gprotobuf_test/main.cpp"-g-O0-Wall-o./Debug/main.cpp.o-I.-I/home/ragnar/cpp-tools/libs/linux64/protobuf/include-I./home/ragnar/cpp-tools/gcc-linux/bin/g+

c++ - 了解 GCC 5 的 _GLIBCXX_USE_CXX11_ABI 或新的 ABI

https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html我在GCC5上使用std::string时遇到了崩溃/valgrind问题。上面的链接暗示从GCC5.x开始的ABI发生了变化。libstd++的新默认ABI是C++11/14...,它与旧ABI不兼容。有一种方法可以使用定义来选择较旧的ABI。我正在尝试了解ABI之间的区别,但尚未找到详细信息。我想帮助理解:需要修复std::string的哪些问题才能与新的ABI兼容?它们是否与写时复制相关?这些更改会破坏旧ABI的功能吗?让_GLIBCXX_USE_

c++ - makefile 中 CXX 的值从何而来?

代码片段:target_test:test.cc$(CXX)$(CPPFLAGS)$(CFLAGS)test.cc我知道CXX是一个变量(包含要调用的编译器命令),但我想知道这个变量是从哪里来的。该变量未在makefile中定义,也不是环境变量。谁能解释一下CXX的值是从哪里来的? 最佳答案 Make有几个predefinedvariables其中是CC。最初,它被设置为cc,它是已安装C编译器的符号链接(symboliclink):$readlink-f`whichcc`/usr/bin/gcc-4.6还有:$readlink-f

c++ - CMake 中的 set_target_properties 是否覆盖 CMAKE_CXX_FLAGS?

在我的CMake项目开始时,我在变量CMAKE_CXX_FLAGS中设置通用编译标志,例如set(CMAKE_CXX_FLAGS"-W-Wall${CMAKE_CXX_FLAGS}")稍后,我需要附加其他特定于配置的编译标志(存储在BUILD_FLAGS中)。我可以为此使用以下命令吗:set_target_properties(${TARGET}PROPERTIESCOMPILE_FLAGS${BUILD_FLAGS})还是我必须手动添加CMAKE_CXX_FLAGS:set_target_properties(${TARGET}PROPERTIESCOMPILE_FLAGS"${CM

c++ - 将 std::__cxx11::string 转换为 std::string

我用的是c++11,还有一些没有配置的库,需要进行一些类型转换。特别是我需要一种将std::__cxx11::string转换为常规std::string的方法,但是谷歌搜索我找不到这样做的方法并把前面的(string)不起作用。如果我不转换,我会收到如下链接器错误:undefinedreferenceto`H5::CompType::insertMember(std::__cxx11::basic_string,std::allocator>const&,unsignedlong,H5::DataTypeconst&)const' 最佳答案