-1

我正在使用 RHEL 6 并尝试使用 SWIG 编译一些代码。

SWIG 文件名为 mySwig.i,看起来像

   %module base_module
   %{
     #include "base.h"
   %}
   %include "base.h"

mySwig.i 文件保存在名为 foo 的文件夹中。文件夹 foo 还有其他 .h、.c 和 .cxx 文件。

我使用的命令是

    gcc -fpic -c foo/*

输出是:

    foo/mySwig.i:1 error: expected identifier or '(' before '%' token
    foo/mySwig.i:3 error: stray '#' in program
    foo/mySwig.i:5 error: expected identifier or '(' before '%' token

有谁知道如何解决这些错误?

4

1 回答 1

1

gcc -fpic -c foo/*将匹配目录 foo/ 中的所有文件。您只想匹配最有可能的 C 文件。gcc -fpic -c foo/*.c如果你真的想要,你可以做什么。

就我个人而言,我建议使用 CMake 或 Autotools 之类的东西,甚至只是一个 Makefile 来构建您的项目,而不是直接调用 cc。

于 2012-08-15T21:46:40.123 回答