草庐IT

shared-libraries

全部标签

c++ qt未定义对`_imp的引用

我使用QtCreator为它制作静态C++库和Qt应用程序。我的库包括MyLib_global.h:#ifdefined(MYLIB_LIBRARY)#defineMYLIBSHARED_EXPORTQ_DECL_EXPORT#else#defineMYLIBSHARED_EXPORTQ_DECL_IMPORT#endifmyclass.h文件:#include"MyLib_global.h"classMYLIBSHARED_EXPORTMyClass:publicQObject{Q_OBJECTpublic:enumLog{SomeValue,NotARealValue};MyCla

javascript - 使用 GTK+ Webkit Webview(和 Qt WebKit 桥)从 JavaScript/HTML 调用 C++

我目前正在评估从HTML页面中嵌入的JavaScript代码调用C++函数的不同方法/解决方案。该应用程序必须在UbuntuServer12.04LTS上运行。我不是基于Linux的开发专家。这是我第一次尝试在JavaScript和C++代码之间进行交互。C++代码基本上驻留在.so文件(动态库)中,这些文件将提供访问特定硬件和文件系统的接口(interface)方法。GUI需要在HTML中,我正在寻找可以从HTML调用C++的不同解决方案。我搜索并最终决定尝试两种方法,都使用WebKit引擎。方法一:使用Qt5.0.2WebkitBridge——WebView控件GUI框架将基于Qt

c++ - GCC 4.8.1、C++11、共享库和异常处理问题

我的项目包括以下内容:我的程序,主要是用C++11编写的(因此尝试在C++03模式下编译它是不切实际的)共享库(https://github.com/SOCI/soci),使用相同的编译器编译SOCI抛出我需要在我的代码中捕获的异常。它曾经与GCC4.7.3一起使用,但现在我已经迁移到GCC4.8.1它不再适用了:异常会通过所有处理程序(包括catch(...))并导致终止:terminatecalledafterthrowinganinstanceof'soci::mysql_soci_error'what():Table'brphrprhprh'doesn'texistThepro

c++ - 在什么平台上 func(shared_ptr(...), shared_ptr(...)) 真的很危险?

我记得ScottMeyers教我的func(shared_ptr(newP),shared_ptr(newQ));是危险的,因为(如果我没记错的话)内存分配、引用计数(构造)和分配给顺序>函数参数允许leak(理论上?)在极少数情况下出现。为了防止这种情况应该将shared_ptr封装在函数调用中,例如在make_shared()中。func(make_shared(),make_shared());这是一些discussion关于它。我想知道是否有(当前)编译器在该领域,在某些系统上确实可能在某些错误情况下留下一些漏洞?还是那些时代已经过去了,或者它们只是理论上的?最有趣的是知道其中

c++ - c_include_path 与 ld_library_path

在Ubuntu12.04或Springdale6.4上,使用gcc和g++,C_INCLUDE_PATH(或CPLUS_INCLUDE_PATH)和LD_LIBRARY_PATH之间有什么区别?LD一个只在运行时使用,另外两个只在编译时使用吗?由于GCC在这些操作系统上似乎忽略了INCLUDE和LIBRARY_PATH环境变量,因此我应该在构建~/.bashrc文件时设置它尽可能跨现代Linux操作系统可移植(实际路径中的模数变化)? 最佳答案 LD_LIBRARY_PATH是一个环境变量,当您启动可执行文件时,它告诉dll加载程序

c++ - boost::shared_ptr 到 void * 反之亦然

我正在用C语言开发一个应用程序,我需要在其中使用第3方C++库。所以,我基本上是在C++库周围编写一个包装器,以便可以从我的纯C应用程序中调用它。库中的一些方法返回类型为boost::shared_ptr的指针,我需要将其转换为void*[forC]然后将其转换回boost::shared_ptr类型以重用它以进行进一步处理。我使用以下方式进行转换:作废*:void*func1(){//aftertheboost::shared_ptriscreatedreturnstatic_cast(SHARED_PTR.get())}来自void*:voidfunc2(void*VOID_PTR

c++ - boost::shared_ptr,ctor 中的一个原子递增,但 dtor 中的两个原子递减?

我正在单步执行boost::shared_ptr的源代码,并且在构造时引用计数器调用一次原子增量。但是,在销毁时我看到原子递减被调用了两次,连接到弱引用?但是,这怎么行呢?在构建时递增一次,在销毁时递减两次,一次在release()中,一次在weak_release()中? 最佳答案 shared_ptr必须维护两个引用计数。一个用于共享实例,一个用于可能通过weak_ptr引用。有了这个,weak_ptr能够增加shared_ptr中的弱引用计数并保持shared_ptr事件(即使在分配的对象被释放之后)以确定从weak_ptr到

flutter添加webview功能之后报错 webview_flutter包 Dependency 'androidx.webkit:webkit:1.8.0' requires libraries and applications Dependency 'androidx.browser:browser:1.6.0' requires libraries and applications

在项目开发中需要添加webview,加载内置的html文件,代码写完后ios运行没有问题,运行安卓时报错,错误提示如下:FAILURE:Buildfailedwithanexception.*Whatwentwrong:Executionfailedfortask':app:checkDebugAarMetadata'.>Afailureoccurredwhileexecutingcom.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction>2issueswerefoundwhencheckingAARmetadata:1

c++ - 意外的重定位类型 0x03

我正在尝试执行一个用我自己的库编译的程序,但是当我执行该程序时出现以下错误:./a.out./a.out:errorwhileloadingsharedlibraries:../../lib-arm/libCustomLibrary.so:unexpectedreloctype0x03发布执行时会发生这种情况,调试执行时一切正常。您认为这可能是哪里的问题?CustomLibrary库与以下参数链接:-lSubLibrary-fPIC-Wl,-Bstatic-lboost_system-lboost_filesystem-lboost_thread-lpthread-Wl,-Bdynam

c++ - Boost Graph Library : How to use depth_first_visit, ColorMap 问题

初始问题:BoostGraphLibrary:PreventDFSfromvisitingunconnectednodes我正在尝试使用boost::depth_first_visit,但不知道如何提供ColorMap属性。我在这里尝试了示例中给出的方法:http://www.boost.org/doc/libs/1_58_0/libs/graph/example/loops_dfs.cpp我的(相关)代码:///Definevertexproperties.structNodeProperty{unsignedid;///Id.unsignedkind;///Kind.unsigne