Работя с C++ в org babel и бих искал да знам как да форматирам включванията, така че да мога да изброя повече от едно.
Ето какво опитвам (което се проваля)
#+BEGIN_SRC C++ :includes <cstdio> :includes <iostream> :includes <string>
using namespace std;
printf("Hello ");
cout << "world\n";
#+END_SRC
В този случай и printf
, и cout
не са декларирани в този обхват. Мога да премахна ненужното :includes <string>
от заглавките и cout
не извежда грешка, така че изглежда, че само последното :includes
се брои. Опитах да заредя множество включвания в един и същи ред, като не използвах нищо, запетаи и интервали като разделители и винаги получавам грешка за допълнителни токени в края на директивата за включване. Също така се опитах да използвам :includes+
в случай, че работи на заглавния ред, но не стана.
Доста съм сигурен, че това, което се опитвам да направя, трябва да е възможно, защото се казва в документацията, която
:includes
(C & CC+ only) accepts either a single string name, or a list of names of files to #include in the execution of the code block
Орг-версия: 8.2.7-4-g880362-elpa
РЕДАКТИРАНЕ:
Струва си да се отбележи, че други аргументи на заглавието могат просто да бъдат нанизани заедно (т.е. :results raw drawer
ще произведе неформатирани резултати в чекмедже), така че има приличен шанс това да е грешка. Използването на :include <cstdio> <iostream>
създава грешка на компилатора, че има допълнителен токен в края на реда #include <cstdio>
.
РЕДАКТИРАНЕ 2:
Оказва се, че всъщност е грешка в организацията, така че е изпратено.