CodeBlocks Vs. Makefile

Hi @ all,

as i was really lucky last week, that i could compile something on ubuntu, i was now on the way doing all the stuff with make-files. Normally, something that works with Codeblocks should also work with makefiles.

[b]What i did:

  1. Addons:[/b]
    I am using
  • ofScraper
  • ofxXmlSettings
  • ofxThread

i wrote all this Names to “addons.make” which is in the same directory as the makefile.

2) libraries:
i’ve added:
curl and libxml2

**Directories: **
libs/curl/lib/libcurl.a
libs/libxml2/lib/libxml2.a

Now normally, it should work? Are everything correct until now?

  
obj/Release/addons/ofScraper/src/ofScraperWebConnection.o: In function `ofScraperWebConnection::getWebPageToFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':  
ofScraperWebConnection.cpp:(.text+0x40): undefined reference to `curl_easy_init'  
ofScraperWebConnection.cpp:(.text+0x76): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0x8e): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0xa4): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0xbc): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0xd4): undefined reference to `curl_easy_setopt'  
obj/Release/addons/ofScraper/src/ofScraperWebConnection.o:ofScraperWebConnection.cpp:(.text+0xec): more undefined references to `curl_easy_setopt' follow  
obj/Release/addons/ofScraper/src/ofScraperWebConnection.o: In function `ofScraperWebConnection::getWebPageToFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':  
ofScraperWebConnection.cpp:(.text+0x168): undefined reference to `curl_easy_perform'  
ofScraperWebConnection.cpp:(.text+0x170): undefined reference to `curl_easy_cleanup'  
obj/Release/addons/ofScraper/src/ofScraperWebConnection.o: In function `ofScraperWebConnection::getWebPageAsString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':  
ofScraperWebConnection.cpp:(.text+0x235): undefined reference to `curl_easy_init'  
ofScraperWebConnection.cpp:(.text+0x257): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0x26f): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0x288): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0x2a0): undefined reference to `curl_easy_setopt'  
ofScraperWebConnection.cpp:(.text+0x2b8): undefined reference to `curl_easy_setopt'  
obj/Release/addons/ofScraper/src/ofScraperWebConnection.o:ofScraperWebConnection.cpp:(.text+0x2d0): more undefined references to `curl_easy_setopt' follow  
obj/Release/addons/ofScraper/src/ofScraperWebConnection.o: In function `ofScraperWebConnection::getWebPageAsString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':  
ofScraperWebConnection.cpp:(.text+0x2f0): undefined reference to `curl_easy_perform'  
ofScraperWebConnection.cpp:(.text+0x2fa): undefined reference to `curl_easy_cleanup'  
../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a(ofGraphics.o): In function `tessError(unsigned int)':  
ofGraphics.cpp:(.text+0x3bd): undefined reference to `gluErrorString'  
../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a(ofGraphics.o): In function `ofSetupScreen()':  
ofGraphics.cpp:(.text+0x47a): undefined reference to `gluPerspective'  
ofGraphics.cpp:(.text+0x4d5): undefined reference to `gluLookAt'  
../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a(ofGraphics.o): In function `T.411':  
ofGraphics.cpp:(.text+0x2c8a): undefined reference to `gluTessBeginContour'  
ofGraphics.cpp:(.text+0x2cc9): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x2cff): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x2d30): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x2d67): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x2d92): undefined reference to `gluTessEndContour'  
ofGraphics.cpp:(.text+0x2da3): undefined reference to `gluTessEndPolygon'  
ofGraphics.cpp:(.text+0x2db1): undefined reference to `gluDeleteTess'  
../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a(ofGraphics.o): In function `ofEndShape(bool)':  
ofGraphics.cpp:(.text+0x39fa): undefined reference to `gluTessBeginContour'  
ofGraphics.cpp:(.text+0x3a3c): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x3a6e): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x3a9f): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x3ad6): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x3b02): undefined reference to `gluTessEndContour'  
ofGraphics.cpp:(.text+0x3b13): undefined reference to `gluTessEndPolygon'  
ofGraphics.cpp:(.text+0x3b21): undefined reference to `gluDeleteTess'  
../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a(ofGraphics.o): In function `ofNextContour(bool)':  
ofGraphics.cpp:(.text+0x3f6a): undefined reference to `gluTessBeginContour'  
ofGraphics.cpp:(.text+0x3fa9): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x3fdf): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x4010): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x4044): undefined reference to `gluTessVertex'  
ofGraphics.cpp:(.text+0x4072): undefined reference to `gluTessEndContour'  
../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a(ofGraphics.o): In function `ofBeginShape()':  
ofGraphics.cpp:(.text+0x5592): undefined reference to `gluNewTess'  
ofGraphics.cpp:(.text+0x55af): undefined reference to `gluTessCallback'  
ofGraphics.cpp:(.text+0x55cc): undefined reference to `gluTessCallback'  
ofGraphics.cpp:(.text+0x55ea): undefined reference to `gluTessCallback'  
ofGraphics.cpp:(.text+0x5608): undefined reference to `gluTessCallback'  
ofGraphics.cpp:(.text+0x5626): undefined reference to `gluTessCallback'  
ofGraphics.cpp:(.text+0x5645): undefined reference to `gluTessProperty'  
ofGraphics.cpp:(.text+0x5673): undefined reference to `gluTessProperty'  
ofGraphics.cpp:(.text+0x5692): undefined reference to `gluTessProperty'  
ofGraphics.cpp:(.text+0x56b0): undefined reference to `gluTessNormal'  
ofGraphics.cpp:(.text+0x56c6): undefined reference to `gluTessBeginPolygon'  
ofGraphics.cpp:(.text+0x56ea): undefined reference to `gluTessProperty'  

something is wrong…but i don’t know what. how can i check best way, if the library is really loaded?

thanks

Ah, had very similar issue just yesterday. See http://forum.openframeworks.cc/t/which-ubuntu-version-for-least-pain./3699/0
I’m using the makefile shipped with the examples and modify it like this:

  
LIBS += -lglut -lGL -lGLU -lasound  

where before it said

  
LIBS += -lglut -lGL -lasound  

Now all the glu*-stuff is found by the linker.

It’s not finding the curl or GLU libraries when linking…

You need to add -lcurl and -lGLU to the linking section.

grimus & sinasonic,

you are great! it’s working now, i am soooo happy!! :slight_smile: I am now in the university, and working for about 14 hours getting my make-file working, of course because i am new on ubuntu. If you were here i would give you something to drink!

thanks again

the problem with glu is related with lucid, the newest version of ubuntu. it’s already fixed in github.

for curl and libxml2, if you add libraries in libs to be autodetected they should be in:

libs/curl/lib/linux/libcurl.a
libs/libxml2/lib/linux/libxml2.a

note the linux directory that you were missing. also if you’re in linux 64bit, that folder should be named linux64

hi arturo,

the problem with libcurl.a didn’t want to be solved, i’ve tried nearly everything, after adding it to the makefile, it has worked.

thx