How to compile program with freeglut library with a Mac using g++ - macos

I am trying to add freeglut to my program but I didn't find any way to do that. In MacOs to add glut library and glu i had to compile from terminal with :
g++-9 -framework GLUT -framework OpenGL
My purpose was to add freeglut in order to use glutLeaveMainLoop() in my program.
So I added the Library but i get this error:
Undefined symbols for architecture x86_64:
"_glutLeaveMainLoop"
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
I had the same errors when I tried compiling my program without adding -framework OpenGL -framework GLUT
Is it possible to compile with g++ using also freeglut ?

Since MacOs doesn't have a freeglut library itself, after downloading the library with brew, I solved the problem myself by adding the -L and the -l :
g++-9 -framework GLUT -framework OpenGL -L /usr/local/Cellar/freeglut/3.0.0/lib -lglut file.cpp

Related

Apple Mach-O Linker (Id) Error for OpenFrameworks

I am using XCode 7.1 on Mac OS X 10.11.1.
I am using an addon called ofXopenNI with openFrameworks, which is basically an OpenNI interface for openFrameworks. It has some requirements which I installed and linked to my XCode project. Still, there's one linking error that I am unable to fix. Here it is (I pasted an image so that I don't miss out on anything):
The problem is that libXnFormats is already included in my project, and yet this issue comes up. This is how I think it's included in the project:
(The second one)
I know there are a lot of Mach-O linking error questions on SO, but this seemed specific. Anyone knows a fix to this?
Here's the error message in text format (since it was asked for):
Ld bin/huReconDebug.app/Contents/MacOS/huReconDebug normal x86_64
cd /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon
export MACOSX_DEPLOYMENT_TARGET=10.11
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -L/Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin -F/Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin -F/Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/../../../libs/glut/lib/osx -filelist /Users/ranveer/Library/Developer/Xcode/DerivedData/huRecon-eiqxyontximqaegxzkvzzaxrfiqs/Build/Intermediates/huRecon.build/Debug/huRecon.build/Objects-normal/x86_64/huReconDebug.LinkFileList -mmacosx-version-min=10.11 -dead_strip ../../../libs/poco/lib/osx/PocoCrypto.a ../../../libs/poco/lib/osx/PocoData.a ../../../libs/poco/lib/osx/PocoDataODBC.a ../../../libs/poco/lib/osx/PocoDataSQLite.a ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoNetSSL.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoZip.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a ../../../libs/openssl/lib/osx/crypto.a ../../../libs/openssl/lib/osx/ssl.a ../../../libs/glfw/lib/osx/libglfw3.a ../../../libs/FreeImage/lib/osx/freeimage.a ../../../libs/freetype/lib/osx/freetype.a ../../../addons/ofxAssimpModelLoader/libs/assimp/lib/osx/assimp.a ../../../addons/ofxKinect/libs/libusb-1.0/lib/osx/usb-1.0.a ../../../addons/ofxOpenCv/libs/opencv/lib/osx/opencv.a -stdlib=libstdc++ -framework Accelerate /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin/data/lXnFormats.dylib -lXnFormats -framework QTKit -lXnDDK -framework GLUT -lusb-1.0.0 /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin/data/XnFormats.dylib /Users/ranveer/BTP/openFrameworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a -framework AGL -lXnVNite_1_5_2 -lnimRecorder -framework ApplicationServices -lXnVCNITE_1_5_2 -framework AudioToolbox -framework CoreAudio -framework CoreFoundation -lnimCodecs -lXnVFeatures_1_5_2 -framework CoreServices -lXnCore -framework OpenGL -lOpenNI -framework QuickTime -lnimMockNodes -lXnDeviceSensorV2KM -framework AppKit -lXnDeviceFile -framework Cocoa -lXnVHandGenerator_1_5_2 -framework IOKit -framework CoreVideo -Xlinker -dependency_info -Xlinker /Users/ranveer/Library/Developer/Xcode/DerivedData/huRecon-eiqxyontximqaegxzkvzzaxrfiqs/Build/Intermediates/huRecon.build/Debug/huRecon.build/Objects-normal/x86_64/huReconDebug_dependency_info.dat -o /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin/huReconDebug.app/Contents/MacOS/huReconDebug
And then,
ld: library not found for -lXnFormats
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I had a similar issue that I got -lXnDDK linker error instead of -lXnFormats. I assume you created new groups by including include and lib folders under ofxOpenNI addon directory. Also, copied the lib folder into bin/data/openni.
I just add bin/data/openni/lib to the Library Search Paths in Build Settings.
I am using Xcode 7.0.1 on MAC OS X 10.10.5.
Rename the library to XnFormats rather than libXnFormats.
I had a strange issue on Xcode recently, when even when using the -l command (which should prefix lib) did want to work for a custom library.
This might be an Xcode bug. However this should get it working for you now.

undefined symbols for architecture x86_64 "glutMainLoopEvent"

I'm trying to compile some linux code which uses freeglut on OS X. I have installed freeglut using homebrew but am now getting a bunch of warnings about having both gl.h and gl3.h, but more worryingly, I'm getting this linker error:
Undefined symbols for architecture x86_64:
"_glutMainLoopEvent", referenced from:
main::$_1::operator()() const in main.cpp.o
ld: symbol(s) not found for architecture x86_64
Here is the command-line compiler command I used:
FAILED: : && /Library/Developer/CommandLineTools/usr/bin/c++
-Wl,-search_paths_first -Wl,-headerpad_max_install_names prog/CMakeFiles/prog.dir/main.cpp.o -o prog/prog
lib/display/libdisplay.a -framework AGL -framework OpenGL -framework
GLUT -framework Cocoa lib/training/libtraining.a lib/core/libcore.a
lib/utility/libutility.a -lpthread
/usr/local/lib/libboost_log-mt.dylib
/usr/local/lib/libboost_thread-mt.dylib
/usr/local/lib/libboost_system-mt.dylib
/usr/local/lib/libboost_filesystem-mt.dylib
/usr/local/lib/libboost_unit_test_framework-mt.dylib
/usr/local/lib/libboost_program_options-mt.dylib && :
What am I doing wrong?

Using SDL with XCode 4.4

I am trying to use XCode 4.4 to run SDL but am running into problems. I followed the directions exactly from this site http://www.lazyfoo.net/SDL_tutorials/lesson01/mac/xcode/index.php but it did not compile and gave me the following error.
Ld
/Users/Jeffrey/Library/Developer/Xcode/DerivedData/SDL_test1-gymiyuicyswxljbpwkggciejevaj/Build/Products/Debug/SDL_test1
normal x86_64
cd /Users/Jeffrey/Documents/Documents/Engineering/SDL_test1
setenv MACOSX_DEPLOYMENT_TARGET 10.8
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
-L/Users/Jeffrey/Library/Developer/Xcode/DerivedData/SDL_test1-gymiyuicyswxljbpwkggciejevaj/Build/Products/Debug
-F/Users/Jeffrey/Library/Developer/Xcode/DerivedData/SDL_test1-gymiyuicyswxljbpwkggciejevaj/Build/Products/Debug
-F/Library/Frameworks -filelist /Users/Jeffrey/Library/Developer/Xcode/DerivedData/SDL_test1-gymiyuicyswxljbpwkggciejevaj/Build/Intermediates/SDL_test1.build/Debug/SDL_test1.build/Objects-normal/x86_64/SDL_test1.LinkFileList
-mmacosx-version-min=10.8 -framework SDL -framework Cocoa -o /Users/Jeffrey/Library/Developer/Xcode/DerivedData/SDL_test1-gymiyuicyswxljbpwkggciejevaj/Build/Products/Debug/SDL_test1
Undefined symbols for architecture x86_64: "_main", referenced from:
-u command line option
(maybe you meant: _SDL_main) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code
1 (use -v to see invocation)
the only discrepancy is in step 9 (Go into the SDLmain.m template file you added and change #include "SDL.h" to #include "SDL/SDL.h") I didn't actually find the include statement but instead an import statement. I tried both ways, however.
Any help would be appreciated.
I am using a Macbook Pro with the Mountain Lion operating system.
Not sure if you are still having trouble with this but if you are I have made a couple of tutorials for OSX getting SDL set up.
Xcode - Setup SDL on OSX in Xcode
Eclipse - Setup SDL on OSX in Eclipse
The Xcode version has a link to my Xcode SDL2 template which makes starting up very easy.

Problems with Code from SVN

I have a problem with my iOS code when pulling it from the SVN. My code works fine on my MAC, but after I upload it to SVN and try to build my project it shows the same error over and over.
Apple Mach-O Linker (id) error
ld: library not found for -lzbar
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1
This problem is pretty annoying and makes my work on the code very difficult. Here is the complete error:
Ld /Users/administrator/Library/Developer/Xcode/DerivedData/SmartDealer-hezswmtfdvujkibrhkmqudlypdqk/Build/Products/Debug-iphonesimulator/SmartDealer.app/SmartDealer normal i386
cd "/Users/administrator/Desktop/test/Trade-In 4S"
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/administrator/Library/Developer/Xcode/DerivedData/SmartDealer-hezswmtfdvujkibrhkmqudlypdqk/Build/Products/Debug-iphonesimulator "-L/Users/administrator/Desktop/test/Trade-In 4S" "-L/Users/administrator/Desktop/test/Trade-In 4S/Classes/ZBarSDK" "-L/Users/administrator/Desktop/test/Trade-In 4S/ZBarSDK" -F/Users/administrator/Library/Developer/Xcode/DerivedData/SmartDealer-hezswmtfdvujkibrhkmqudlypdqk/Build/Products/Debug-iphonesimulator -filelist /Users/administrator/Library/Developer/Xcode/DerivedData/SmartDealer-hezswmtfdvujkibrhkmqudlypdqk/Build/Intermediates/SmartDealer.build/Debug-iphonesimulator/SmartDealer.build/Objects-normal/i386/SmartDealer.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=40000 -framework Foundation -framework UIKit -framework CoreGraphics -framework CoreData -lsqlite3 -framework QuartzCore -weak_framework CoreMedia -weak_framework CoreVideo -liconv -lzbar -weak_framework AVFoundation -o /Users/administrator/Library/Developer/Xcode/DerivedData/SmartDealer-hezswmtfdvujkibrhkmqudlypdqk/Build/Products/Debug-iphonesimulator/SmartDealer.app/SmartDealer
ld: library not found for -lzbar
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1
Thanks for your help!
Are you sure that the 'ZBarSDK' folder was successfully included in SVN? It seems that you're trying to link to a framework in that folder, so you should either find a standardized location for the framework and install it on all development machines, or leave your project alone but make sure that the ZBarSDK folder is successfully added to your SVN repo along with your other source.
You can do this from the command line--just cd into your project folder and svn add ZBarSDK.

ld: library not found for -llinphone

I am facing linker error in Xcode, I compiled Iphone code in Mac Virtual Machine (snow leopard 10.6.6) by following instruction in it Readme file for Mac OS, It compiled successfully,
Now i have to run it in XCode but i am getting fallowing error.
ld: library not found for -llinphone
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
More detail of logs
Ld /Users/mac/Library/Developer/Xcode/DerivedData/linphone-hbezhyqawbboavbueofzjzfsukku /Build/Products/Debug-iphonesimulator/linphone.app/linphone normal i386
cd /Users/mac/Desktop/Iphone/linphone-iphone
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk
-L/Users/mac/Library/Developer/Xcode/DerivedData/linphone-hbezhyqawbboavbueofzjzfsukku/Build/Products/Debug-iphonesimulator
-L/Users/mac/Library/Developer/Xcode/DerivedData/linphone-hbezhyqawbboavbueofzjzfsukku/Build/Products/Debug-iphonesimulator
-L/Users/mac/Desktop/Iphone/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins
-L/Users/mac/Desktop/Iphone/linphone-iphone/liblinphone-sdk/apple-darwin/lib
-F/Users/mac/Library/Developer/Xcode/DerivedData/linphone-hbezhyqawbboavbueofzjzfsukku/Build/Products/Debug-iphonesimulator
-filelist /Users/mac/Library/Developer/Xcode/DerivedData/linphone-hbezhyqawbboavbueofzjzfsukku/Build/Intermediates/linphone.build/Debug-iphonesimulator/linphone.build/Objects-normal/i386/linphone.LinkFileList
-mmacosx-version-min=10.6 -l linphone -l mediastreamer -Xlinker -objc_abi_version -Xlinker 2 -lssl -lcrypto
-framework Foundation -weak_framework UIKit
-framework CoreGraphics -framework CoreAudio
-framework AudioToolbox -leXosip2 -losip2
-losipparser2 -lspeex -lspeexdsp
-framework AVFoundation -framework AddressBookUI
-framework AddressBook -framework SystemConfiguration -lilbc -lmsilbc
-framework CFNetwork -lortp -lresolv -lopencore-amrwb -lopencore-amrnb -lmsamr
-o /Users/mac/Library/Developer/Xcode/DerivedData/linphone-hbezhyqawbboavbueofzjzfsukku/Build/Products/Debug-iphonesimulator/linphone.app/linphone
I googled it but could not fix it, please guide me to fix this issue,
Regards
I have also face the same issue and i have solved it by reading README file
download fresh copy of linphone from git.
Before you open your code just follow the instruction of README file.
Now open your project.
Goto BuildSetting and search "Header Search Path". In that you will find that "submodules/linphone/mediastreamer2/include" record is twice.So remove one entry.
Now you can compile your code without any error.

Resources