February 2, 2013 at 19:40 #494
Simply question, but I am somewhat new to toolchains, etc.
How do I include a path to the header files I need for my project? Not the default ones like
but, say, “python.h”? Can’t figure out where that include path should go.
In my case because I can’t get the remote build to work (see my other post regarding the Finish button that won’t click) I am building locally with a cross compiler. Can do the tutorial “hello world” just fine, but can’t figure out how to be able to include a header file “python.h” in that source code.
And I will ultimately have to do the same with lib.
Where is this configured? Greatly appreciate the help.February 2, 2013 at 21:03 #2224
When using a cross-compiler for Raspberry you need to copy any additional include files from the /usr/include on the Raspberry box to C:SysGCCraspberryarm-linux-gnueabihfsysrootusrinclude. Then the toolchain and the IntelliSense will recognize them correctly.
You can use SmarTTY, our free SSH client to quickly download the entire include directory into the toolchain directory.February 2, 2013 at 23:48 #2225
Have spent hours and hours on this…
Copied the header files to where you indicated, also the libs.
But simply will not find them. Always get:
VisualGDB remote project path: /tmp/VisualGDB/c/temp/Projects/LinuxProject1/example
Sending 1 updated source files to build machine…
g++ -ggdb -ffunction-sections -ffunction-sections -O0 -DDEBUG -c example.cpp -o Debug/example.o -MD -MF Debug/example.dep
C:tempProjectsLinuxProject1exampleexample.cpp(2,20): fatal error : Python.h: No such file or directory
make: *** [Debug/example.o] Error 1
Confirmed, reconfirmed, everything.
And here is the kicker: I have two projects, one a shared library and the other the hello world exe. In the hello world exe it DOES find and use python.h and compiled correctly. But although the shared library project is configured identically, it does NOT find the python.h file even though it is in the directory you suggested.
Really not sure what to do…is it confusing the visual studio win32 directories and trying them? Any profound difference between exe and shared library in terms of how they use includes?February 3, 2013 at 10:01 #2226
Normally the Python include files are located in a Python-version subdirectory (e.g. /usr/include/python2.7/Python.h). Thus you need to add it to additional include path.
This can be done by setting the INCLUDE_DIRS variable inside flags.mak. E.g.:
INCLUDE_DIRS := /usr/include/python2.7
If you are using a cross-compiler, the path will be:
CROSS_SYSROOT := C:/SysGCC/raspberry/arm-linux-gnueabihf/sysroot
INCLUDE_DIRS := $(CROSS_SYSROOT)/usr/include/python2.7
You must be logged in to reply to this topic.