emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Problem compiling C++ in Org-mode


From: Michael Hannon
Subject: [O] Problem compiling C++ in Org-mode
Date: Thu, 17 Nov 2011 20:56:42 -0800 (PST)

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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]