将Java / C ++代码库转换为基于IDE的项目

时间:2016-07-28 16:26:06

标签: java android c++ eclipse android-studio

我想知道是否可以将现有代码库(混合 - Java和C ++)转换为基于IDE(Eclipse或Android Studio)的项目?我拥有的混合代码库非常庞大和成熟,截至今天我没有使用任何IDE,并且计划将该代码库导入到Eclipse或Android Studio等IDE中。 请注意,混合代码库使用Android.mk和Application.mk文件。我在想:

  1. 创建基于Eclipse的项目并按原样保留mk文件
  2. 或者Android Studio使用gradle构建文件而不是mk文件。可能我可以先创建一个基于Eclipse的项目,然后将其转换为基于Android Studio的项目。
  3. 请帮助我解决你的想法。

    谢谢!

1 个答案:

答案 0 :(得分:0)

是的,你可以做到。我使用eclipse,所以让我们来谈谈。

  1. 获得日食火星。

  2. 获取C / C ++编译器(我使用MinGW和msys,所以我必须将它们添加到路径中)。

  3. 在Eclipse中转到帮助==>安装新软件==>从下拉列表中选择火星。
  4. 将CDT组件添加到eclipse。
  5. 在Eclipse中创建一个新的C项目。
  6. 保存您的理智并转到构建者和项目构面并选择多面形式。
  7. 您可以创建一个空C项目或选择Makefile Project with Existing Code。我经常选择C项目Makefile Project Empty Project和我想要使用的工具(MinGW GCC)。
  8. 您可能需要关闭Project ==>自动构建并将C / C ++构建命令更改为gmake(或其他)。在行为中,我已取消选中Build on资源保存并单击Build and clean并将目标名称更改为all并分别清理。
  9. 现在你需要让eclipse中的构建工作。右键单击项目并选择构建配置,然后使用Build all和Clean all。
  10. 现在您可以使用自己的make文件了。就个人而言,我不喜欢所有在一个目录中所有的东西,所以我更喜欢我的makefiles在根和subdirs / src / bin和/ obj。这是一个简单的makefile,可以在windows或linux中运行,并实现' clean'和'所有和上述结构的33行:
  11. CC       = gcc
    # compiling flags here
    CFLAGS   = -std=c99 -Wall -I.
    # linking flags here
    LFLAGS   = -Wall -I. -lm
    LINKER   = gcc -o
    SRCDIR   = src
    OBJDIR   = obj
    BINDIR   = bin
    SOURCES  := $(wildcard $(SRCDIR)/*.c)
    INCLUDES := $(wildcard $(SRCDIR)/*.h)
    OBJECTS  := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
    RM=rm -f
    TARGET = main
    ifdef ComSpec
      EXT=.exe
    else
      EXT=
    endif
    
    all: $(BINDIR)/$(TARGET)
    
    $(BINDIR)/$(TARGET): $(OBJECTS)
      @$(LINKER) $@ $(LFLAGS) $(OBJECTS)
      @echo "Linking complete!"
    
    $(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
      @$(CC) $(CFLAGS) -c $< -o $@
      @echo "Compiled "$<" successfully!"
    
    clean:
      @-$(RM) $(OBJECTS) $(BINDIR)/$(TARGET)$(EXT)
      @echo "Cleanup complete!"
    

    那应该让你滚动。调试应该工作,你可以在获得这个基本功能级别后添加你的Android特定的东西。如果你的.mk文件有奇怪的名字,你可能需要使用命令gmake -f makefilename来让它快乐。

    通过SpringSource STS团队的Gradle eclipse插件,可以获得对eclipse的支持。

    祝你好运!