Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ptp-user] Include and library paths for a combined C and C++ synchronized project

Hi All,

I am working with a colleague who is trying PTP for a C/C++ project that uses OpenSlide and OpenCV (computer vision).  I have a question regarding setting the appropriate include paths, library paths and libraries.  

He currently has a makefile on the remote system (Oakley, one of our linux clusters) that he is able to build his example source code with.  

First, I had him create an empty Makefile project with the remote GCC toolchain, no local toolchain.  In order for eclipse to resolve the program's symbols, I had him add the remote include paths:
//oakley/nfs/14/samsi/devel/opencv-2.4.2/include/opencv 
//oakley/nfs/14/samsi/devel/opencv-2.4.2/include 
//oakley/nfs/14/samsi/devel/openslide-3.3.2/include/openslide

And, there was a symbol, Mat, that was not resolved by eclipse but is found when the makefile runs (many other symbols were resolved).  The main code file has:
#include <cv.h>
where cv.h is a bunch of other includes, particularly:
#include "opencv2/core/core.hpp"
and the class in question, Mat, is defined in core.hpp.  

I have tried to add opencv2 to the include paths and <core/core.hpp> to the main code, but that did not work.  The only other symbols that were not resolved were declared in C header files underneath opencv2.

Second, I had him create a synchronized project of type "Executable/Empty Project", again with GCC remote tools and no local tools.  We added the include paths:
/oakley/nfs/14/samsi/devel/opencv-2.4.2/include/opencv 
//oakley/nfs/14/samsi/devel/opencv-2.4.2/include 
//oakley/nfs/14/samsi/devel/openslide-3.3.2/include/openslide
…and we added the library paths:
//oakley/nfs/14/samsi/devel/opencv-2.4.2/lib
//oakley/nfs/14/samsi/devel/openslide-3.3.2/lib
…and we added the libraries
opencv_core
opencv_highgui 
openslide

But, when I did that, the auto generated makefile had the connection prefix //oakley in the -I and -L commands!  I went back to the project properties and removed them, and then the auto generated makefile worked.  However, the symbol resolution was broken in this project after I changed the include paths.  

So, after that long explanation, here are my questions:
	1.  Are there any good rules for include paths for combined C and C++ projects?  I take it eclipse is not a thorough as the compiler in spelunking through include files being included by other include files?
	2.  For the auto generated makefile, what is the appropriate way to declare remote library and include paths?
	3.  How can the local include paths for things like /usr/local be replaced with remote include paths?

Thanks,
Dave
---
David E. Hudak, Ph.D.          dhudak@xxxxxxx
Senior Research Scientist
Ohio Supercomputer Center
http://www.osc.edu













Back to the top