Skip to main content

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

Hi All,

After some more work, I have gotten the issue resolved!  Unfortunately, it seems that there are some differences in the behavior of indexing for C projects between remote projects and synchronized projects.  If people are interested, I can study it further.  Let me know.  

Thanks,
Dave
On Dec 18, 2012, at 5:42 PM, Dr. David E Hudak <dhudak@xxxxxxx> wrote:

> 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
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> ptp-user mailing list
> ptp-user@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ptp-user

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













Back to the top