Greetings. I'm having a problem compiling a C++ source-code block in
Org-mode. The same C++ code compiles and runs in the shell.
The issue seems to relate to local include files. I.e., a program that
includes only standard files, such as:
#include <iostream>
works fine. But Org-mode seems to be unable to find a file included from the
current directory, such as:
#include "OtherStuff.cpp"
I've appended the Org source code and associated error message.
I've also appended the log of a successful compilation of the same source code
in the shell, as well as the details of my configuration.
What am I missing?
Thanks,
-- Mike
########## Unsuccessful attempt to compile in Org-mode
* Test
#+begin_src cpp
#include <iostream>
#include <memory>
#include "OtherStuff.cpp"
using namespace std;
int main() {
cout << "Hello!" << endl;
}
#+end_src
#+results:
/tmp/babel-245846_d/C-src-24584NIQ.cpp:7:26: fatal error: OtherStuff.cpp: No
such file or directory
compilation terminated.
/bin/bash: /tmp/babel-245846_d/C-bin-24584aSW: Permission denied
########## Successful compilation in linux shell
$ cat junk.cpp
#include <iostream>
#include <memory>
#include "OtherStuff.cpp"
using namespace std;
int main() {
cout << "Hello!" << endl;
}
$ g++ -o junk -std=c++0x junk.cpp
$ ./junk
Hello!
########## Org-mode compile uses same option as shell compile:
org-babel-C++-compiler is a variable defined in `ob-C.el'.
Its value is "g++ -std=c++0x"
Documentation:
Command used to compile a C++ source code file into an
executable.
########## My configuration
Emacs : GNU Emacs 23.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.24.5)
of 2011-06-29 on x86-01.phx2.fedoraproject.org
Package: Org-mode version 7.7 (release_7.7.328.g1a97.dirty)