我正在使用包装程序与XFOIL程序进行交互。但是,调试时,调试器会指出尽管路径已在“ includes”目录中列出,但找不到basic_string.h文件。仅在逐步调试时才会出现此错误,否则代码会挂起并且没有任何反馈。
我试图在Eclipse的设置中输入精确的路径,但这并没有改变任何东西。代码无法摆脱创建对象“ xfoil”的麻烦。我正在使用Cygwin作为编译器。
主文件:
cxxfoil::Xfoil xfoil("/bin/xfoil",1) ; //Create xfoil object
xfoil.NACA("0015") ; //Load specific NACA airfoil;
xfoil.SetIterations(100);
xfoil.SetViscosity(1e5);
auto result = xfoil.AngleOfAttack(10) ;
Xfoil对象定义:
Xfoil::Xfoil(const std::string &path, bool log) {
xfoil_state_.G = false;
xfoil_state_.pacc_file = std::tmpnam(nullptr);
xfoil_state_.Ncrit = 9;
xfoil_state_.pacc = false;
xfoil_state_.viscous = false;
line_number_ = kPolarLineNr;
xfoil_state_.iter = 20;
read_output_ = true;
if (log) {
log_.open("xfoil.log");
log_output_ = true;
input_log_.open("input.log");
}
Start(path);
do {
wait_ms(kSettingsProcessTime);
} while (!WaitingForInput());
Configure();
}
该对象应该与bin文件夹中的xfoil.exe交互。然后,通过包装器,可以将命令传递给xfoil接口,并可以收集变量。但是,如上所述,代码会挂起创建“ xfoil”对象。字符串路径似乎有问题。 我可以根据需要发布完整的代码或各种事情的快照。
完整的包装器代码可以在这里找到: https://github.com/Jvanrhijn/CXXfoil