Undefined Reference when linking FMOD library on linux - c++

I am creating a simple game on linux in C++ and using FMOD for the sound. I recently downloaded the latest FMOD API however when I try to use it I get an undefined reference error. From what I can see with other related questions it usually has to do with where the -lfmod tag is when compiling, however no matter where I put that tag I still encounter problems.
I followed the Debian instructions for downloading the FMOD api and library.
https://wiki.debian.org/FMOD
However when the -I/usr/local/include -L/usr/local/lib didn't work I moved all the library and header files to local folders and adjusted accordingly.
I am using Debian on x86_64 architecture, if that helps.
I also followed these instructions here
https://www.fmod.com/docs/api/content/generated/platform_linux/basics.html
And using ldconfig I was able to verify that I do have libasound.so.2 downloaded in /usr/lib/x86_64-linux-gnu/
I am aware of this answer
C++:Undefined reference to 'FMOD:: X'
but because I am compiling using G++ and the FMOD linux libraries were compiled using GCC I don't think there should be a problem.
Here is the error I get when compiling.
g++ -c audioEngine.cpp
g++ driver.o game.o uiInteract.o uiDraw.o audioEngine.o point.o velocity.o flyingObject.o ship.o bullet.o rocks.o pause.o keyBind.o asteroid.o -I/usr/local/include -L/usr/local/lib -lfmod -lglut -lGLU -lGL
audioEngine.o: In function `Implementation::Implementation()':
audioEngine.cpp:(.text+0x67): undefined reference to `FMOD::Studio::System::create(FMOD::Studio::System**, unsigned int)'
audioEngine.cpp:(.text+0x92): undefined reference to `FMOD::Studio::System::initialize(int, unsigned int, unsigned int, void*)'
audioEngine.cpp:(.text+0xbf): undefined reference to `FMOD::Studio::System::getLowLevelSystem(FMOD::System**) const'
audioEngine.o: In function `Implementation::~Implementation()':
audioEngine.cpp:(.text+0x13b): undefined reference to `FMOD::Studio::System::unloadAll()'
audioEngine.cpp:(.text+0x151): undefined reference to `FMOD::Studio::System::release()'
audioEngine.o: In function `Implementation::advance()':
audioEngine.cpp:(.text+0x2cf): undefined reference to `FMOD::Studio::System::update()'
collect2: error: ld returned 1 exit status
makefile:21: recipe for target 'a.out' failed
make: *** [a.out] Error 1
Here are the problem areas in audioEngine.cpp
In the header file "fmod.hpp" and "fmod_studio.hpp" are included.
Implementation::Implementation()
{
mpStudioSystem = NULL;
AudioEngine::ErrorCheck(FMOD::Studio::System::create(&mpStudioSystem));
AudioEngine::ErrorCheck(mpStudioSystem->initialize(32, FMOD_STUDIO_INIT_LIVEUPDATE, FMOD_INIT_PROFILE_ENABLE, NULL));
mpSystem = NULL;
AudioEngine::ErrorCheck(mpStudioSystem->getLowLevelSystem(&mpSystem));
}
Implementation::~Implementation()
{
AudioEngine::ErrorCheck(mpStudioSystem->unloadAll());
AudioEngine::ErrorCheck(mpStudioSystem->release());
}
void Implementation::advance()
{
vector<ChannelMap::iterator> pStoppedChannels;
for (auto it = mChannels.begin(), itEnd = mChannels.end(); it != itEnd; ++it)
{
bool bIsPlaying = false;
it->second->isPlaying(&bIsPlaying);
if (!bIsPlaying)
{
pStoppedChannels.push_back(it);
}
}
for (auto& it : pStoppedChannels)
{
mChannels.erase(it);
}
AudioEngine::ErrorCheck(mpStudioSystem->update());
}
Here is the relevant part of the makefile
LFLAGS = -I./include -L./lib -lfmod -lglut -lGLU -lGL
###############################################################
# Build the main game
###############################################################
a.out: driver.o game.o uiInteract.o uiDraw.o audioEngine.o point.o velocity.o flyingObject.o ship.o bullet.o rocks.o pause.o keyBind.o asteroid.o
g++ driver.o game.o uiInteract.o uiDraw.o audioEngine.o point.o velocity.o flyingObject.o ship.o bullet.o rocks.o pause.o keyBind.o asteroid.o $(LFLAGS)
The .so library files are in a "lib" folder in the project folder where the makefile is, and the .h and .hpp files are in an "include" folder in the same place.

I realized the answer to this question moments before posting, but I spent enough time trying to figure it out I'm posing anyway for future reference if anyone else follows the Debian instructions and wonders why they get an undefined reference.
If you are including the "fmod_studio.hpp" file you also need to include the fmod studio library. Add -lfmodstudio after -lfmod and provided you have everything else right it will now compile without an undefined reference.
The solution is so obvious I feel like an idiot. Of course if I want fmodstudio I need to include the fmodstudio library! It's like I was flooring the accelerator without an engine then checking the oil.

Related

Boost "undefined reference" errors even with -lboost_thread

I'm getting some strange compiler/linker errors when trying to use boost::shared_mutex. I'm using boost v1.61 on a VM running 32-bit rhel 6.2.
Code that causes error:
hpp file:
#include <boost/thread/shared_mutex.hpp>
class SharedData
{
public:
SharedData();
~SharedData();
void packMessage(std::shared_ptr<Message> s);
private:
// mutex that allows multiple read, single write protection
boost::shared_mutex m_sharedMutex;
};
cpp file:
void SharedData::packMessage(std::shared_ptr<Message> s)
{
// get shared read access
boost::shared_lock<boost::shared_mutex> lock(m_sharedMutex); // <- this line causes the errors
// read stuff here
}
make output:
CMakeFiles/tester.dir/__/src/SharedData/SharedData.cpp.o: In function `boost::detail::interruption_checker::interruption_checker(pthread_mutex_t*, pthread_cond_t*)':
/usr/local/include/boost/thread/pthread/thread_data.hpp:195: undefined reference to `boost::detail::get_current_thread_data()'
CMakeFiles/tester.dir/__/src/SharedData/SharedData.cpp.o: In function `boost::condition_variable::wait(boost::unique_lock<boost::mutex>&)':
/usr/local/include/boost/thread/pthread/condition_variable.hpp:81: undefined reference to `boost::this_thread::interruption_point()'
CMakeFiles/tester.dir/__/src/SharedData/SharedData.cpp.o: In function `boost::shared_mutex::lock_shared()':
/usr/local/include/boost/thread/pthread/shared_mutex.hpp:186: undefined reference to `boost::this_thread::disable_interruption::disable_interruption()'
/usr/local/include/boost/thread/pthread/shared_mutex.hpp:193: undefined reference to `boost::this_thread::disable_interruption::~disable_interruption()'
/usr/local/include/boost/thread/pthread/shared_mutex.hpp:193: undefined reference to `boost::this_thread::disable_interruption::~disable_interruption()'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/tester] Error 1
Everywhere I've searched has said that these errors mean I need to link the boost_thread library, which I've done in my cmake file (boost_system is included for other code in this same project):
target_link_libraries(${BINARY_NAME} boost_thread boost_system)
But the errors persist.
Originally I was using the boost 1.41 libraries that were already installed on my machine. When I hit these errors I ran yum remove boost-devel and then manually installed boost 1.61 to see if that would correct the errors. Is there something extra I needed to add to the ./bootstrap.sh or ./b2 install commands? I can see libboost_thread.a in /usr/local/lib, so I assumed that meant the thread library was built correctly.
Any thoughts on what is causing these errors? Thanks!
Edit:
Cmake's log didn't have anything useful I could see, but make VERBOSE=1 gives the following output:
cd /home/craig/dev/myProject/build/test && /usr/bin/cmake -E cmake_link_script CMakeFiles/tester.dir/link.txt --verbose=1
/opt/rh/devtoolset-2/root/usr/bin/c++ -std=c++11 -ggdb -Wall -Werror -fprofile-arcs -ftest-coverage -fPIC -O0 -pedantic -Wl,--export-dynamic CMakeFiles/tester.dir/utilities/googletest/googletest/src/gtest-all.cc.o CMakeFiles/tester.dir/tester.cpp.o CMakeFiles/tester.dir/SharedData/testSharedData.cpp.o CMakeFiles/tester.dir/Common/testFifo.cpp.o CMakeFiles/tester.dir/Common/testCsu.cpp.o CMakeFiles/tester.dir/Messages/testMessage.cpp.o CMakeFiles/tester.dir/__/src/SharedData/SharedData.cpp.o CMakeFiles/tester.dir/__/src/Common/Fifo.cpp.o CMakeFiles/tester.dir/__/src/Common/Csu.cpp.o -o ../bin/tester -rdynamic -lboost_system -lpthread
CMakeFiles/tester.dir/__/src/SharedData/SharedData.cpp.o: In function `boost::detail::interruption_checker::interruption_checker(pthread_mutex_t*, pthread_cond_t*)':
/usr/local/include/boost/thread/pthread/thread_data.hpp:195: undefined reference to `boost::detail::get_current_thread_data()'
CMakeFiles/tester.dir/__/src/SharedData/SharedData.cpp.o: In function `boost::condition_variable::wait(boost::unique_lock<boost::mutex>&)':
/usr/local/include/boost/thread/pthread/condition_variable.hpp:81: undefined reference to `boost::this_thread::interruption_point()'
CMakeFiles/tester.dir/__/src/SharedData/SharedData.cpp.o: In function `boost::shared_mutex::lock_shared()':
/usr/local/include/boost/thread/pthread/shared_mutex.hpp:186: undefined reference to `boost::this_thread::disable_interruption::disable_interruption()'
/usr/local/include/boost/thread/pthread/shared_mutex.hpp:193: undefined reference to `boost::this_thread::disable_interruption::~disable_interruption()'
/usr/local/include/boost/thread/pthread/shared_mutex.hpp:193: undefined reference to `boost::this_thread::disable_interruption::~disable_interruption()'
Turns out my question is just like everyone else's.
#jww suggested I show the actual compile and link command invocation, not CMake's output, which I've added to my question. As you can see, the command is linking boost_system and pthread, but not boost_thread.
Digging into my project I realized that I had added boost_thread to my release build, but not into my unit test build, which is what I was trying to compile. Adding boost_thread to the unit test's CMakeLists.txt removed the error immediately.

Android libVLC build: linker fails with various undefined references

I'm trying to build libVLC for usage within an Android application (I can't find pre-built libs for all the platforms I am targeting). I am using Ubuntu 16.04.1 LTS server and am following the Android compile instructions and installed the packages mentioned there. I have the NDK r13 and SDK r24.4.1, essentially both freshly downloaded.
I started the process with ./compile.sh -a arm --release -l
Everything seems to compile correctly, but then I end up with linker errors. Here's the output starting from what seems most relevant:
Generating static module list
/home/builder/vlc-build/vlc-android/toolchains/arm/bin/arm-linux-androideabi-nm: libiconv.a: File format not recognized
/home/builder/vlc-build/vlc-android/toolchains/arm/bin/arm-linux-androideabi-objcopy:vlc/build-android-arm-linux-androideabi/modules/.libs/libgnutls_plugin.a(libiconv.a): Unable to recognise the format of file: File format not recognized
Package zlib was not found in the pkg-config search path.
Perhaps you should add the directory containing `zlib.pc'
to the PKG_CONFIG_PATH environment variable
Package 'zlib', required by '/libvncclient', not found
Building NDK
Android NDK: WARNING:jni/Android.mk:vlc: non-system libraries in linker flags: /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libandroid_window_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libadf_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsubsdec_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libps_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libkaraoke_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtaglib_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liboldmovie_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libconsole_logger_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libshm_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcompressor_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcroppadd_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libiomx_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libchorus_flanger_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libgles2_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liboggspots_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libnormvol_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libstereo_widen_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librtp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liblpcm_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libspatializer_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libes_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpostproc_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfps_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdemux_stl_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfreetype_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libttml_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcache_block_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_copy_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libstl_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmemory_keystore_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpva_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libflacsys_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liblogo_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librecord_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libflac_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libi420_nv12_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaes3_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtimecode_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdvdread_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsubsusf_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcc_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmarq_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libwav_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdecomp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_mpegaudio_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libi420_rgb_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liblua_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liba52_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libxml_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcache_read_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdsm_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libyuy2_i422_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libadjust_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libogg_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvhs_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libgaussianblur_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libegl_android_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpng_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libts_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librawvideo_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libgnutls_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_mpeg4video_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdummy_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsoxr_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtransform_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfile_keystore_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvolume_neon_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsubsdelay_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libspeex_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libremap_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_mpegvideo_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvc1_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libinvert_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libftp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_dirac_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libchain_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libinteger_mixer_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librotate_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaudio_format_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfile_logger_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmkv_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcaf_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libau_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmediacodec_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvdr_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtelx_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcdg_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libg711_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libnfs_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfilesystem_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libnsv_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmjpeg_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liblibass_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvpx_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmono_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsubsttml_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsyslog_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_hevc_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libadpcm_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsatip_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvmem_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/liblive555_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_avparser_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libty_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libhttp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libzvbi_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libedgedetection_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libwave_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcanvas_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libimem_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsubstx3g_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsepia_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libi420_yuy2_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvobsub_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libyuv_rgb_neon_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libgrey_yuv_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libscaletempo_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libspdif_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfluidsynth_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdvdnav_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libparam_eq_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libgain_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libadaptive_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdemux_cdg_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libupnp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librar_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_mlp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaccess_concat_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcolorthres_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libcvdsub_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libnsc_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libxa_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libplaylist_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdemuxdump_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libi422_yuy2_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtospdif_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libandroid_audiotrack_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libinflate_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmpgv_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libscte18_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libavformat_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libopensles_android_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libflaschen_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libprefetch_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmp4_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libattachment_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libhds_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libugly_resampler_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmod_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfingerprinter_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaraw_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaccess_mms_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libextract_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libyuy2_i420_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libzip_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdiracsys_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsvcdsub_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfreeze_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdvbsub_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libamem_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libscale_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtta_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libblend_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libh26x_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librv32_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libavi_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libequalizer_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libandroid_logger_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libudp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libscte27_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libavcodec_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libyuvp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libavio_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfloat_mixer_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_vc1_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaiff_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsdp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdeinterlace_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libchroma_yuv_neon_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaccess_realrtsp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libhttps_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librawaud_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libuleaddvaudio_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libswscale_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libasf_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvoc_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libgradfun_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtrivial_channel_mixer_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmpg123_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libaccess_archive_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libmicrodns_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librawdv_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libhqdn3d_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libi422_i420_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libafile_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsimple_channel_mixer_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libantiflicker_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_dts_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libheadphone_channel_mixer_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsftp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libvorbis_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_flac_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/librawvid_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libanaglyph_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtcp_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libtheora_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libspudec_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libopus_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libnuv_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libdolby_surround_decoder_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_h264_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libi420_10_p010_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libimage_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libandroid_native_window_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libfolder_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libjpeg_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_mpeg4audio_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libsubtitle_plugin.a /home/builder/vlc-build/vlc-android/.modules/build-android-arm-linux-androideabi/libpacketizer_a52_plugin.a /home/builder/vlc-build/vlc-android/vlc/build-android-arm-linux-androideabi/lib/.libs/libvlc.a /home/builder/vlc-build/vlc-android/vlc/build-android-arm-linux-androideabi/src/.libs/libvlccore.a /home/builder/vlc-build/vlc-android/vlc/build-android-arm-linux-androideabi/compat/.libs/libcompat.a -ldvdnav -ldvdread -ldvdcss -ldvdread -ldvdcss -lFLAC -logg -lfluidlite -lvorbisfile -lvorbis -logg -lfreetype -lfribidi -lgnutls /home/builder/vlc-build/vlc-android/vlc/contrib/arm-linux-androideabi/lib/libiconv.a -lgmp -lharfbuzz -lhogweed -lgmp -lnettle -larchive -lass -liconv -lfribidi -lfreetype -lavcodec -lopenjpeg -lgsm -lavutil -lavformat -lopenjpeg -lgsm -lavcodec -lopenjpeg -lgsm -lavutil -lavutil -ldsm -ldvbpsi -ldvdcss -lebml -lmatroska -lebml -lmodplug -lmpg123 -lnfs -lpng16 -lpng16 -lpostproc -lavutil -lssh2 -lgcrypt -lgpg-error -lswscale -lavutil -ltasn1 -lupnp -lthreadutil -lixml -lxml2 -lmicrodns -lnettle -logg -lopus -lprotobuf-lite -lprotobuf -lsoxr -lspeexdsp -lspeex -ltag_c -ltag -ltag -ltheoradec -logg -ltheoraenc -ltheoradec -logg -ltheora -logg -lvorbisenc -lvorbisfile -lvorbis -logg -lvpx -lzvbi -liconv -lpng -lliveMedia -lUsageEnvironment -lBasicUsageEnvironment -lgroupsock -la52 -ljpeg -lavcodec -lebml -llua -lc++abi -landroid_support
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
make: Entering directory `/home/builder/vlc-build/vlc-android/libvlc'
[armeabi-v7a] Compile thumb : vlc <= libvlcjni-modules.c
[armeabi-v7a] Compile thumb : vlc <= libvlcjni-symbols.c
[armeabi-v7a] Compile++ thumb: vlc <= dummy.cpp
[armeabi-v7a] Prebuilt : libc++_shared.so <= <NDK>/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/
[armeabi-v7a] SharedLibrary : libvlc.so
../../modules/lua/vlc.c:219: error: undefined reference to 'config_GetLibDir'
../../modules/lua/vlc.c:229: error: undefined reference to 'config_GetDataDir'
../../modules/lua/libs/configuration.c:110: error: undefined reference to 'config_GetDataDir'
../../modules/arm_neon/volume.c:49: error: undefined reference to 'vlc_CPU'
../../modules/arm_neon/yuv_rgb.c:137: error: undefined reference to 'vlc_CPU'
../../modules/video_filter/deinterlace/deinterlace.c:696: error: undefined reference to 'vlc_CPU'
../../modules/arm_neon/chroma_yuv.c:220: error: undefined reference to 'vlc_CPU'
../../src/misc/threads.c:89: error: undefined reference to 'vlc_addr_timedwait'
../../src/misc/threads.c:148: error: undefined reference to 'vlc_addr_signal'
../../src/misc/threads.c:154: error: undefined reference to 'vlc_addr_broadcast'
../../src/misc/threads.c:173: error: undefined reference to 'vlc_addr_wait'
../../src/misc/threads.c:197: error: undefined reference to 'vlc_addr_timedwait'
../../src/misc/threads.c:148: error: undefined reference to 'vlc_addr_signal'
../../src/misc/threads.c:154: error: undefined reference to 'vlc_addr_broadcast'
../../src/misc/threads.c:148: error: undefined reference to 'vlc_addr_signal'
../../src/misc/messages.c:121: error: undefined reference to 'vlc_thread_id'
../../src/android/thread.c:321: error: undefined reference to 'vlc_addr_broadcast'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [jni/obj/local/armeabi-v7a/libvlc.so] Error 1
make: Leaving directory `/home/builder/vlc-build/vlc-android/libvlc'
ndk-build failed for libvlc
There's a few things worrying in there like the warning about non-system libraries (but isn't that expected since it is a cross-compile?) but they don't seem to connect to the issue.
I can't seem to find anything relevant in Google nor on Stackoverflow (except maybe this question and answer hinting perhaps I should try an older version of the NDK?) as these seem to all be functionality provided by VLC itself. As a result I'm also not sure where to look in the compile process' logs or output to find other hints of things being awry. What else should I post?
I'm rather late to the party but posting anyways.
Package zlib was not found in the pkg-config search path.
Missing dependencies surface as totally irrelevant errors sadly.

Why does my C++ linker only work after I delete boost shared object files?

When I run 'make' using my NetBeans generated Makefile everything compiles OK but then when we try to link everything together we get an error:
g++ -o dist/Debug/GNU-Linux-x86/hub build/Debug/GNU-Linux-x86/Calculations.o build/Debug/GNU-Linux-x86/Client.o build/Debug/GNU-Linux-x86/Connection.o build/Debug/GNU-Linux-x86/DataStore.o build/Debug/GNU-Linux-x86/Hub.o build/Debug/GNU-Linux-x86/Instruments.o build/Debug/GNU-Linux-x86/Parameters.o build/Debug/GNU-Linux-x86/PricingEngine.o build/Debug/GNU-Linux-x86/Server.o build/Debug/GNU-Linux-x86/main.o build/Debug/GNU-Linux-x86/stdafx.o -L/usr/lib/x86_64-linux-gnu ../Core/dist/Debug/GNU-Linux-x86/libcore.a -pthread -lpq -lzmq -lboost_system -lboost_log -lboost_log_setup -lboost_thread -lboost_filesystem -lboost_unit_test_framework -lQuantLib
build/Debug/GNU-Linux-x86/Connection.o: In function `Hub::Connection::ReadHeaderHandler(boost::system::error_code, unsigned long)':
/home/jj5/arena/Hub/Connection.cpp:35: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/home/jj5/arena/Hub/Connection.cpp:35: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/home/jj5/arena/Hub/Connection.cpp:42: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/home/jj5/arena/Hub/Connection.cpp:42: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
The problem seems to be a missing boost logging library. Curiously, however, if I delete the Boost shard object files:
root#happiness:/usr/lib/x86_64-linux-gnu# archive libboost_*.so
Archive path is: /root/archive/2015-09-08-200813
Date: Tuesday 8 September 20:08:13 AEST 2015
User: root
Host: happiness
Path: /usr/lib/x86_64-linux-gnu
File: libboost_atomic.so libboost_chrono.so libboost_context.so libboost_date_time.so libboost_filesystem.so libboost_graph_parallel.so libboost_graph.so libboost_iostreams.so libboost_locale.so libboost_log_setup.so libboost_log.so libboost_math_c99f.so libboost_math_c99l.so libboost_math_c99.so libboost_math_tr1f.so libboost_math_tr1l.so libboost_math_tr1.so libboost_mpi_python-py27.so libboost_mpi_python-py34.so libboost_mpi_python.so libboost_mpi.so libboost_prg_exec_monitor.so libboost_program_options.so libboost_python-py27.so libboost_python-py34.so libboost_python.so libboost_random.so libboost_regex.so libboost_serialization.so libboost_signals.so libboost_system.so libboost_thread.so libboost_timer.so libboost_unit_test_framework.so libboost_wave.so libboost_wserialization.so
Then the next time I run make everything compiles and links successfully! Nevertheless, deleting the shared object files seems a little bit drastic... is there some other way?
p.s. the 'archive' script shown above 'deletes' files by moving them to 'trash', it's similar to rm -rf.
To make linker prefer a static library, you can try this:
-Wl,-Bstatic -lboost_log -lboost_log_setup -Wl,-Bdynamic
Notes:
I don't see a problem with linking to .a directly, it's not any way less portable than the solution above
It would seem Boost.Log fails to set default visibility on these symbols, so please make sure this issue is reported.

c++ files to include for boost : asio

I'm following this tutorial however it does not state which libaries I need to include in order to get boost to work,current options for links are:
-I/usr/include/opencv2 -I/usr/include/boost_1_55_0 -I/usr/include/boost_1_55_0/boost -O0 -g3 -Wall -c -fmessage-length=0
however this returns the following erro:
which states that it can't find asio, am I doing something wrong or was assio the wrong library to link to? Or is there any other way to find out. Note that this is my 2nd c++ project(through I have a lot of java experience) and first with the heavy use of libraries so details are somewhat required.
Removing boost/asio gave me the following errors:
make all
Building target: DisplayImage
Invoking: GCC C++ Linker
g++ -L/usr/include/opencv2 -L/usr/include/boost_1_55_0/boost -L/usr/include/boost_1_55_0 -L/usr/include/opencv2 -L/usr/lib -o "DisplayImage" ./src/Cap.o ./src/DisplayImage.o ./src/Filters.o ./src/sender.o -lopencv_imgproc -lopencv_highgui -lopencv_core
./src/sender.o: In function `__static_initialization_and_destruction_0':
/usr/include/boost_1_55_0/boost/system/error_code.hpp:222: undefined reference to `boost::system::generic_category()'
/usr/include/boost_1_55_0/boost/system/error_code.hpp:223: undefined reference to `boost::system::generic_category()'
/usr/include/boost_1_55_0/boost/system/error_code.hpp:224: undefined reference to `boost::system::system_category()'
./src/sender.o: In function `error_code':
/usr/include/boost_1_55_0/boost/system/error_code.hpp:323: undefined reference to `boost::system::system_category()'
./src/sender.o: In function `boost::asio::error::get_system_category()':
/usr/include/boost_1_55_0/boost/asio/error.hpp:224: undefined reference to `boost::system::system_category()'
collect2: ld returned 1 exit status
make: *** [DisplayImage] Error 1
Build Finished **
I use an ubuntu (x64) laptop if it matters.
Most of boost is implemented in what's called "header-only" code. Through the generous use of C++ templates, there is no actual library code to which your code needs to link. However, there are, as you've seen some actual libraries as well. Generally, the help you seek is probably here: http://www.boost.org/doc/libs/1_55_0/more/getting_started/unix-variants.html#link-your-program-to-a-boost-library
Your particular program uses the timer and system libraries and so you can probably use this command line to link your program:
g++ timer.cpp -o timer -lboost_timer -lboost_system
You can look at the bjam in boost/libs/asio/example/cpp03/tutorial/Jamfile.v2:
project
: requirements
<library>/boost/system//boost_system
<library>/boost/thread//boost_thread
<define>BOOST_ALL_NO_LIB=1
<threading>multi
<os>SOLARIS:<library>socket
<os>SOLARIS:<library>nsl
<os>NT:<define>_WIN32_WINNT=0x0501
<os>NT,<toolset>gcc:<library>ws2_32
<os>NT,<toolset>gcc:<library>mswsock
<os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
<os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
<os>HPUX:<library>ipv6
;
You can see that they build all the tutorial steps with
-lboost_system -lboost_thread -DBOOST_ALL_NO_LIB=1
on linux

Compile OpenGL application from Windows on Linux

My friend made OpenGL graphic engine, but he is working on Windows. I want to compile project with it.
I installed all required libs with headers, but now problem is with linking (project in Code::Blocks). I found paths for /usr/lib/libSOIL.a and /usr/local/lib/libglfw3.a, but what about:
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libopengl32.a
C:\Program Files (x86)\CodeBlocks\MinGW\lib\assimp_debug-dll_win32\assimp.lib
Also, what I must modify in project file to compile it? It requires: glfw3, glm, gl3w.h, assimp, SOIL (this is what I get from .hpp files). I installed all headers (downloaded sources and make && make install)...
I tried to compile it from terminal with g++, but I don't know switches for libraries.
Current situation:
$ g++ Camera.o Entity.o Frustum.o gl3w.o Light.o Material.o Mesh.o Model.o ModelPart.o Shader.o Texture.o Utilities.o ../main.o -o main -L/usr/local/lib/libglfw3.a -lX11 -lXext -lXt -lSM -lGLU -lglut -lSOIL
/usr/bin/ld: gl3w.o: undefined reference to symbol 'glXGetProcAddress'
/usr/bin/ld: note: 'glXGetProcAddress' is defined in DSO /usr/lib/nvidia-313-updates/libGL.so.1 so try adding it to the linker command line
/usr/lib/nvidia-313-updates/libGL.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
(i added too much libraries to command line, I know)
EDIT
Added -lGL and -ldl and some problems comes out. Now, I'll trying compile it with makefile...
libopengl32 -> libGL.a
assimp -> libassimp.a ?
You gotta provide the Makefile you're compiling it with.