puku0x / cvdrone

CV Drone (= OpenCV + AR.Drone)
https://github.com/puku0x/cvdrone/wiki/How-to-build
Other
202 stars 94 forks source link

Make file error #8

Open chahatahuja24 opened 10 years ago

chahatahuja24 commented 10 years ago

Hey, I am having make file error. I am not able to build Linux examples. the error is undefined reference to 'operator new (unsigned long)'. and architecture of optimized files are incompatible with i386 output.

puku0x commented 10 years ago

Oh really ?

You used the default makefile (cvdrone-master\build\linux\makefile), didn't you? "$ sudo apt-get install build-essential" may help you.

In other case (if you wrote your original makefile), the error is showed when you use GCC. Please add "-lstdc++" flag or use g++ compiler.

Unfortunately, I'm not sure CV Drone's compatibility of the i386 system. Please tell me if you solve it.

Thanks, puku0x

puku0x commented 10 years ago

Is there any progress ?

EngmaherAljehani commented 8 years ago

hi Sir Thank you for amazing job, however I've some issues when I tried to make file on Ubuntu as Virtual machine in mac g++ ../../src/ardrone/ardrone.o ../../src/ardrone/command.o ../../src/ardrone/config.o ../../src/ardrone/udp.o ../../src/ardrone/tcp.o ../../src/ardrone/navdata.o ../../src/ardrone/version.o ../../src/ardrone/video.o ../../src/main.o -o test.a -O2 -Wall -D__STDC_CONSTANT_MACROS -lm -lpthread -lavutil -lavformat -lavcodec -lswscale -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_hal -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videoio -lopencv_videostab /usr/bin/ld: cannot find -lopencv_hal /usr/bin/ld: cannot find -lopencv_imgcodecs /usr/bin/ld: cannot find -lopencv_videoio collect2: error: ld returned 1 exit status make: *\ [test.a] Error 1 I know there is something relating to video module however I couldn't solve it till now ... any ideas

valizada commented 8 years ago

which version of opencv u are using? Try to upgrade to 3.0, it should solve this problem

EngmaherAljehani commented 8 years ago

let me check, and coming back again

Thanks !

EngmaherAljehani commented 8 years ago

still having the same issues even after upgrading to 3.0.0

g++ ../../src/ardrone/ardrone.o ../../src/ardrone/command.o ../../src/ardrone/config.o ../../src/ardrone/udp.o ../../src/ardrone/tcp.o ../../src/ardrone/navdata.o ../../src/ardrone/version.o ../../src/ardrone/video.o ../../src/main.o -o test.a -O2 -Wall -D__STDC_CONSTANT_MACROS -lm -lpthread -lavutil -lavformat -lavcodec -lswscale -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_hal -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videoio -lopencv_videostab /usr/bin/ld: cannot find -lopencv_hal /usr/bin/ld: cannot find -lopencv_imgcodecs /usr/bin/ld: cannot find -lopencv_videoio collect2: error: ld returned 1 exit status make: *\ [test.a] Error 1

valizada commented 8 years ago

Would you please try to run following command to see the list of libraries you have:

pkg-config --libs opencv

And check from the list if -lopencv_hal, -lopencv_imgcodecs and -lopencv_videoio present in there. If not it means that there is a linking problem. You could try to run:

brew link opencv3 —force

And lastly it could be because .o files are not being upgraded after running make. Try to delete all .o files from ../../src/ardrone/ folder and then make

EngmaherAljehani commented 8 years ago

Thanks but that what I have got so far

$ pkg-config --libs opencv /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so /usr/lib/x86_64-linux-gnu/libopencv_contrib.so /usr/lib/x86_64-linux-gnu/libopencv_core.so /usr/lib/x86_64-linux-gnu/libopencv_features2d.so /usr/lib/x86_64-linux-gnu/libopencv_flann.so /usr/lib/x86_64-linux-gnu/libopencv_gpu.so /usr/lib/x86_64-linux-gnu/libopencv_highgui.so /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so /usr/lib/x86_64-linux-gnu/libopencv_legacy.so /usr/lib/x86_64-linux-gnu/libopencv_ml.so /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so /usr/lib/x86_64-linux-gnu/libopencv_ocl.so /usr/lib/x86_64-linux-gnu/libopencv_photo.so /usr/lib/x86_64-linux-gnu/libopencv_stitching.so /usr/lib/x86_64-linux-gnu/libopencv_superres.so /usr/lib/x86_64-linux-gnu/libopencv_ts.so /usr/lib/x86_64-linux-gnu/libopencv_video.so /usr/lib/x86_64-linux-gnu/libopencv_videostab.so -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab

$ brew link opencv3 —force No command 'brew' found, did you mean: Command 'brec' from package 'bplay' (universe) Command 'qbrew' from package 'qbrew' (universe) brew: command not found

I deleted all .o files but still having the same error !

by the way I'm trying to install it on Ubuntu 14.04 LTS ,

valizada commented 8 years ago

I thought you are running it from Mac, brew is a package manager, like apt-get on Ubuntu. So it won't work on Ubuntu. Sorry but in this case I am not sure how to fix it.

EngmaherAljehani commented 8 years ago

Mr.valizada I really appreciate your help and I'm sorry for not explaining that briefly earlier. it runs fine on mac os but I prefer ubuntu since I've done some work on it.

cipri-tom commented 8 years ago

Hi @EngmaherAljehani ,

I have just got it working on Ubuntu 14.04. You need to install OpenCV from source, as the packages don't offer opencv 3. Personally I used the tutorial here [1], while skipping step 8 (about virtualenv).

Please report if you have other issues.

I would recommend removing current opencv before installing the new one.

[1] http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/

EngmaherAljehani commented 8 years ago

hi mr.cipri-tom could you please show the link that you used it to install opencv

Thanks

cipri-tom commented 8 years ago

Sorry, I forgot to include link. I edited my comment to add the link. Note I skipped the virtualenv step, to have it globally installed

ashirsat commented 7 years ago

Is there a way to get it working with opencv 2?

puku0x commented 7 years ago

Hi, @ashirsat

The OpenCV 2.4.9 version is here. https://github.com/puku0x/cvdrone/tree/5e6ffc21e6e6b9b79d632e2991e1270e7f611f02

I hope it helps you.

ashirsat commented 7 years ago

Hi @puku0x

The installation fails with the same error.

In functionmain': main.cpp:(.text.startup+0x4e2): undefined reference to cv::cvarrToMat(void const*, bool, bool, int, cv::AutoBuffer<double, 136ul>*)' main.cpp:(.text.startup+0x5c3): undefined reference tocv::String::allocate(unsigned long)' main.cpp:(.text.startup+0x5df): undefined reference to cv::imshow(cv::String const&, cv::_InputArray const&)' main.cpp:(.text.startup+0x5e7): undefined reference tocv::String::deallocate()' main.cpp:(.text.startup+0x7e4): undefined reference to cv::String::deallocate()' collect2: error: ld returned 1 exit status make: *** [test.a] Error 1

Would you be able to help me figure out what the issue is ?

Thanks

puku0x commented 7 years ago

Hmm, it seems that your "main.cpp" has an error. @ashirsat, is it the default "main.cpp" ?

puku0x commented 7 years ago

I fixed makefile.

Please try this !

$ sudo apt-get install git
$ cd Desktop
$ git clone https://github.com/puku0x/cvdrone.git

$ sudo apt-get install build-essential
$ sudo apt-get install ffmpeg
$ sudo apt-get install libav-tools
$ sudo apt-get install libopencv-dev

$ cd cvdrone/build/unix 
$ make
ashirsat commented 7 years ago

Cool. I will give it a shot and let you know how that goes.

Thanks a lot for the help.

On Sat, Feb 11, 2017 at 9:43 AM puku0x notifications@github.com wrote:

I fixed makefile.

Please try this !

$ sudo apt-get install git $ cd Desktop $ git clone https://github.com/puku0x/cvdrone.git

$ sudo apt-get install build-essential $ sudo apt-get install ffmpeg $ sudo apt-get install libav-tools $ sudo apt-get install libopencv-dev

$ cd cvdrone/build/unix $ make

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/puku0x/cvdrone/issues/8#issuecomment-279158419, or mute the thread https://github.com/notifications/unsubscribe-auth/AF2oJn2ReShH55_5_YMhu7cCNvKmq4Bvks5rbeUygaJpZM4Bo4Ud .

ashirsat commented 7 years ago

Hi @puku0x ,

Thanks a ton.

That solved my issue.