comp.lang.ada
 help / color / mirror / Atom feed
From: "Rego, P." <pvrego@gmail.com>
Subject: Re: GPS: Including C headers from paths which are not configured in Source_Dirs
Date: Thu, 8 Oct 2015 09:51:58 -0700 (PDT)
Date: 2015-10-08T09:51:58-07:00	[thread overview]
Message-ID: <8a324b12-4774-4a73-9e6e-c2b87d80f4e8@googlegroups.com> (raw)
In-Reply-To: <lyy4fdwf8l.fsf@pushface.org>

On Thursday, October 8, 2015 at 12:29:32 PM UTC-3, Simon Wright wrote:
>    package Compiler is
>       for Switches ("C") use ("-I/your/include/dir");
>    end Compiler;

It did not work, maybe I did wrong. I built a test code to analyze better.

--test.gpr
project Test is 
   for Languages use ("Ada", "C"); 
   for Source_Dirs use ("."); 
   for Main use ("ohmy.adb"); 
	
   package Compiler is 
      for Switches ("C") use ("-Ioutsiders"); 
   end Compiler; 
   
end Test; 

--ohmy.adb
procedure Ohmy is
   procedure Put_Ohmy;
   pragma Import (C, Put_Ohmy, "putOhmy");
begin
   Put_Ohmy;
end Ohmy;

--bla.h
void putOhmy(void);

--bla.c
#include <bla.h>
#include "common/bla_other.h"

void putOhmy (void) {
    putOhmyOther();
}

--outsiders/common/bla_other.h
void putOhmyOther();

--outsiders/common/bla_other.c
#include <bla_other.h>
#include <stdio.h>

void putOhmyOther(){
    printf("Ohmy");
}

In this case, the built returns the error message:
> gprbuild -d -Ptest.gpr ohmy.adb
> gcc ohmy.o -o ohmy.exe
> libtest.a(bla.o):bla.c:(.text+0x7): undefined reference to `putOhmyOther'
> collect2.exe: error: ld returned 1 exit status
> gprbuild: link of ohmy.adb failed
> [2015-10-08 13:38:54] process exited with status 4, 100% (2/2), elapsed time: 03.94s

Realize that the folder 'outsiders' is included in project, so (I guess) its subfolders should be accessible by an include like '#include "common/bla_other.h"' (?) So what did I do wrong?

Thanks.

> 
> But why are you using #include "tools/mytool.h" rather than #include
> <tools/mytools.h>? (I've never understood why VxWorks uses this style).

Actually I don't know. It's a (big) legacy code, so I'd rather not changing this (if possible).

  reply	other threads:[~2015-10-08 16:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 14:32 GPS: Including C headers from paths which are not configured in Source_Dirs Rego, P.
2015-10-08 15:29 ` Simon Wright
2015-10-08 16:51   ` Rego, P. [this message]
2015-10-08 18:11     ` Qun-Ying
2015-10-08 20:49     ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox