[
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