cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

How to install a library in c++ properly?

How to install a library in c++ properly?

Josaphat_Aviles
Established Member

Does anyone know what is the correct way to install a C++ library and if any special configuration is required in the other files folders inside the application (I mean apart from modifying the main.cpp file, it is required to modify another one)?

2 REPLIES 2

CodeShepherd
Community Moderator
Community Moderator

Moved to corresponding sub forum SDK.

What exactly do you mean by installing? Bring it to your development environment? Pack it in your snap? reference it in the project?

Could you describe in more detail what you want to achieve?

nickH
Community Moderator
Community Moderator

Hi @Josaphat_Aviles

There is not an easy answer to your question, which would fully answer it. I would recommend you to learn more about C++ in general. There is good literature and also videos you can find online. This would be something you learn in a course about C++ in university for example.

But I attached a little example for you. In this example I edited the hello.world example from the ctrlX Automation SDK and instead for printing out directly something to the logbook I used my self-created shared library (libSharedLibrary.so). Some things you need to do, so it will work:

  • link the library in the CMakeLists
  • include the header (interface description of the library) in your main.cpp
  • include the library in your snap (so it is available at runtime)
  • possibly change the environment variable LD_LIBRARY_PATH (see also this post in the community)

Best regards, 

Nick

 

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist