shared-libraries

ldconfig only links files starting with lib*?

 ̄綄美尐妖づ 提交于 2019-12-01 07:03:38
问题 I'm struggling to make MVTec Halcon 11 work on Ubuntu. Everything is in the right place but the program doesn't see the dynamic libraries needed for image acquisition (the cameras alone work fine, the driver is installed) I added the path with the libraries to /etc/ld.so.conf and ran ldconfig -v but of the 28 files present in the directory (all "Shared Library" type and .so extension), only the "lib*.so" ones are linked. As a matter of fact, ALL the libraries in the output of ldconfig are

CMake: Run-time error (dyld: Library not loaded) for dynamically linked resources on MacOS

和自甴很熟 提交于 2019-12-01 06:48:13
Problem On MacOS, I get linking problems at runtime for a CMake project that depends on dynamically linked resources – but only after installing the project! The problem does not occur when I only build the binary without installing it. $ ./testapp Hello world! $ $INSTALLDIR/testapp dyld: Library not loaded: @rpath/libvtkDomainsChemistryOpenGL2-7.1.1.dylib Referenced from: /Users/normanius/workspace/installdir/testapp Reason: image not found [1] 76964 trace trap /Users/normanius/workspace/installdir/testapp Minimum example I am able to reproduce the problem in a minimal setup consisting of

In what library on Linux are the system calls and how is this library linked to the executable object file that contains the system calls?

痞子三分冷 提交于 2019-12-01 06:43:25
问题 I know that the system calls are not in the C standard Library. Is there any library (some sort of a system library) where the system calls are? If there is such a library how is this library linked to the executable program? 回答1: A system call can work in a few different ways, depending on the target architecture, but in any case, it is not a library call. It is a way for a running user-space program to call some functionality in the kernel. In very old systems, this typically meant to jump

Correct installation of config.h for shared library using autotools

早过忘川 提交于 2019-12-01 06:06:44
问题 I am converting a C++ program which uses the autotools build system to use a shared library, introducing the use of libtool. Most of the program functionality is being placed in the shared library, which is loaded by the main program, so that the common code can be accessed by other programs in future. Throughout the program and library sources the autoheader generated config.h is used with the usual macro: #if HAVE_CONFIG_H # include <config.h> #endif In configure.ac I use the macro to

How to create a Qt shared library for a non-Qt application

一曲冷凌霜 提交于 2019-12-01 05:56:07
I have developed an application that has Qt shared library and Qt application. Qt shared library exports a single class with few signals in it. I have made use of Q_DECL_EXPORT / Q_DECL_IMPORT macros for this. Right now the communication between the dll and application is through Qt signals and slots and that needs the application to be developed using QObject. Now I was asked to make Qt shared library as an ideal DLL where Client application doesn't depend on Qt framework. I saw the following post but Using a Qt-based DLL in a non-Qt application but not sure if that is the best approach.

Can you compile a shared object to prefer local symbols even if it's being loaded by a program compiled with -rdynamic?

落花浮王杯 提交于 2019-12-01 05:49:33
I am building a shared library in C that is dynamically loaded by a program that I do not have source access to. The target platform is a 64-bit Linux platform and we're using gcc to build. I was able to build a reproduction of the issue in ~100 lines, but it's still a bit to read. Hopefully it's illustrative. The core issue is I have two non-static functions ( bar and baz ) defined in my shared library. Both need to be non-static as we expect the caller to be able to dlsym them. Additionally, baz calls bar . The program that is using my library also has a function named bar , which wouldn't

how can i use a shared lib in glassfish to avoid deployment of the huge libs?

允我心安 提交于 2019-12-01 05:47:20
I have to upload about 30M for my app since it uses a lot of libraries, log, web engine and so on. I think there should be a way to share these libs on glassfish, but I failed to figure it out. I tried to put them in domain/lib/ext but does not work. So where should I store these libs and how should I refer to them? thank you. Why domaindir/lib/ext does not work? from glassfish manual: Optional packages are packages of Java classes and associated native code that application developers can use to extend the functionality of the core platform. To use the Java optional package mechanism, copy

Creating both static and shared C++ libraries

人盡茶涼 提交于 2019-12-01 04:29:16
I'd like to build both static and shared libraries in a project. I know that shared libraries need to be be created from objects compiled with -fpic to get Position Independent Code while the static library doesn't need this. This is all fine and I can create either a shared or static library. I wouldn't want to compile my source twice to get the different object files, so how is this usually done? I read how to get a shared library based on a static one . However, the example shows the static library being built with -fpic. Is this the way to go? Are there things to be aware of with this? Is

How to create a Qt shared library for a non-Qt application

牧云@^-^@ 提交于 2019-12-01 04:26:07
问题 I have developed an application that has Qt shared library and Qt application. Qt shared library exports a single class with few signals in it. I have made use of Q_DECL_EXPORT / Q_DECL_IMPORT macros for this. Right now the communication between the dll and application is through Qt signals and slots and that needs the application to be developed using QObject. Now I was asked to make Qt shared library as an ideal DLL where Client application doesn't depend on Qt framework. I saw the

debugging ld, “Inconsistency detected by ld.so”

落爺英雄遲暮 提交于 2019-12-01 04:23:13
I am trying to use a widget library called GLV for an application I am developing. I am running Linux Mint 17. I installed all the libraries and I have succeeded in building the GLV library, but when I try to running one of samples that was built I get this shared library error. Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed! Can anyone help me find out where the inconsistency in the shared library is coming from? More information In the README file it says GLV requires only OpenGL, GLU, and GLEW (Linux only). There are no