fixup_bundle : Qt5 segfault at execution - macos

I'm testing fixup_bundle in order to create a standalone Qt5 application. Fixup doesn't give me any error but when running my application, I got something like this :
Class RunLoopModeTracker is implemented in both
/Users/rperrot/Prog/exe/Build/src/executables/exe/exe.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore
and
/Users/rperrot/Qt/5.6/clang_64/lib/QtCore.framework/Versions/5/QtCore.
One of the two will be used. Which one is undefined.
I understand the issue but I can't find how to solve it in my CMakeLists.txt
I link my exe like this :
target_link_libraries( exe Qt5::Widgets Qt5::OpenGL )
then when using install command :
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
install( CODE "
INCLUDE(BundleUtilities)
fixup_bundle( ${CMAKE_INSTALL_PREFIX}/exe.app \"\" \"\" )"
COMPONENT Runtime )
Any suggestion ?

Related

Can't package a Mac OS X Drag and Drop installer

I wrote these lines at the end of my top-level CMakeLists.txt :
include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${Tutorial_VERSION_MINOR}")
set(CPACK_SOURCE_GENERATOR "DRAGANDROP")
set(CPACK_PACKAGE_FILE_NAME "Project")
include(CPack)
but when I execute the Project.sh script I got this error :
Using target directory: path/to/my/Project
Extracting, please wait...
pax: Cannot identify format. Searching...
pax: End of archive volume 1 reached
pax: Sorry, unable to determine archive format.
Problem unpacking the Project
It's supposed to work but it doesn't apparently...
Does anyone knows why ? I really don't understand...

Can't add Embree to my project, getting LNK1104 error

I'm trying to add Embree to an already working solution, following this resource I've added to my CMakeLists.txt file the following:
FIND_PACKAGE(embree 3.0 REQUIRED)
INCLUDE_DIRECTORIES(${EMBREE_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(application ${EMBREE_LIBRARY})
I've also created a Windows environment variable embree_DIR with my Embree installation folder ("C:\Program Files\Intel\Embree3 x64").
CMake configures the solution fine, but when I build I get a fatal error LNK1104: impossible to open 'embree3.lib'.
Just so you know, I actually have a C:\Program Files\Intel\Embree3 x64\lib\embree3.lib file.
Anyone has any clue why this might be happening?
Set EMBREE_ROOT_DIR e.g.:
set(EMBREE_ROOT_DIR "C:/thirdparty/vs2017/x64/embree-2.17.0")
Link to ${EMBREE_LIBRARIES}
target_link_libraries(YourApp
...
${EMBREE_LIBRARIES}
...
)

Basic Programming Error in T24 Design Studio

Below is my code.
SUBROUTINE HELLO
*-----------------------------------------------------------------------------
*
*-----------------------------------------------------------------------------
* Modification History :
*-----------------------------------------------------------------------------
$INSERT I_COMMON
$INSERT I_EQUATE
*-----------------------------------------------------------------------------
CRT "HELLOW WORLD"
END
I'm trying to compile above code in T24 Design Studio using TAFJ but it generates below error.
17/01/2019 10:50:47 Compiling HELLO... ERROR
Error : (line 19) HELLO, Cannot find Insert 'I_EQUATE'
Error : (line 12) HELLO.b, No component defined. $PACKAGE is mandatory !
Compilation completed for 1 file(s). 2 errors
Need to know how to resolve this issue.
The first error "Cannot find Insert 'I_EQUATE'" means the compiler cannot find the insert file which is usually located inside t24lib. You have to right click on your project and select "Toggle TAFJ project nature", then provide location to t24lib folder with the T24 core libraries (temn.tafj.directory.precompile parameter in TAFJ conf properties).
Second error means that you should follow the TAFJ componentisation framework and you should have a .component and $PACKAGE keyword in routine indicating the package name. You can override this check by putting a "Dunce cup" on the folder where you have the routine.

OpenCV and VisualStudio 2010 dll problems

Hi everyone I would like to try the openCV library but I have some problems setting up the environment.
From the property Manager I created a new sheet and set:
VC++ Directories :
- Include Directories: $(OPENCV_DIR)\build\x86\vc10\bin and $(OPENCV2_DIR)\build\include
- Library Directories: $(OPENCV2_DIR)\build\x86\vc10\lib;
C/C++ :
- Additional Includes Directories: $(OPENCV2_DIR)\include;
Linker:
opencv_calib3d244d.lib opencv_contrib244d.lib opencv_core244d.lib
opencv_features2d244d.lib opencv_flann244d.lib opencv_gpu244d.lib
opencv_haartraining_engined.lib opencv_highgui244d.lib
opencv_imgproc244d.lib opencv_legacy244d.lib opencv_ml244d.lib
opencv_nonfree244d.lib opencv_objdetect244d.lib opencv_photo244d.lib
opencv_stitching244d.lib opencv_ts244d.lib opencv_video244d.lib
opencv_videostab244d.lib
-Additional Library Directories: $(OPENCV2_DIR)\libs
I can compile but i can't execute the program because I get an error opencv_core242.dll is missing.
Where's my error? Thanks
"I get an error opencv_core242.dll is missing"
if you linked against the libs in opencv\build\x86\vc10\lib (your compiler/linker settings look ok),
you'll have to append
opencv\build\x86\vc10\bin
to your PATH environment variable, so your exe can find the dlls at runtime.

Linking to boost_filesystem in a bjam-based project

I'm trying to set up Boost.Build for my own project, which references libboost_filesystem.
When I run
bjam release avg_asp
I get the following output:
andreas#rodin:~/src/libdoas/src/tools$ bjam release avg_asp -n
/home/andreas/lib/build/boost_1_42_0/Jamroot:637: in modules.load
rule targets.create-metatarget unknown in module Jamfile</home /andreas/lib/build/boost_1_42_0>.
/usr/share/boost-build/build/project.jam:312: in load-jamfile
/usr/share/boost-build/build/project.jam:68: in project.load
/usr/share/boost-build/build/project.jam:718: in project.use
/usr/share/boost-build/build/project.jam:94: in project.load-used-projects
/usr/share/boost-build/build-system.jam:105: in load-config
/usr/share/boost-build/build-system.jam:154: in load
/usr/share/boost-build/kernel/modules.jam:261: in import
/usr/share/boost-build/kernel/bootstrap.jam:132: in boost-build
/usr/share/boost-build/boost-build.jam:1: in module scope
I'd really appreciate some help getting this fixed...
~/user-config.jam
# -----------------
# System libraries
# -----------------
project site-config ;
lib netcdf : : <name>netcdf ;
# ------------------------
# Include Boost libraries
# ------------------------
use-project /boost : /home/andreas/lib/build/boost_1_42_0 ;
~/src/libdoas/Jamroot
project
: requirements <include>/home/andreas/include/boost-1_42
: requirements <include>include
;
~/src/libdoas/src/lib/Jamfile
lib libdoas : [ glob *.cpp ] /site-config//netcdf ;
~/src/libdoas/src/tools/Jamfile
exe avg_asp : avg_asp.cpp /boost/filesystem//boost_filesystem ;
exe b3dcols_to_pgl : b3dcols_to_pgl.cpp ;
In the directory /home/andreas/lib/build/boost_1_42_0, I already did the following::
./bootstrap.sh --prefix=/home/andreas
bjam
Any ideas?
All right, I got the answer from the boost-build mailing list. The problem is that I was using the boost-build / bjam from the Ubuntu repos, which is too old to build Boost 1.42. I uninstalled the Ubuntu version, and everything works fine now :)

Resources