用于ARM linux的Cross Compile ncurses应用程序

时间:2016-01-15 09:09:18

标签: linux arm cross-compiling ncurses

我想从我的工作站(x86,linux)交叉编译一个应用程序用于ARM应用程序处理器。首先,我为我的系统构建:

library(shiny)
library(ggplot2)
library(RMySQL)

shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("batch", label = "Batch ID", value=""),
      actionButton("do", label = "Search")        

    ),
 mainPanel(
   dataTableOutput(outputId="plot_clicked_points"),
   plotOutput("map", click = "plot_click")

 )))) 

这个版本就像我想要的那样,也可以工作。如果我想为手臂构建这个

gcc -static -g -Wall -c main.c -o main.o
gcc -g -Wall main.o -o myApplication -lncurses

但这不会编译。

arm-linux-gnueabi-gcc -static -g -Wall -c main.c -o main.o
arm-linux-gnueabi-gcc -g -Wall main.o -o myApplication -lncurses

那么:如何以这种方式交叉编译ncurses应用程序?

1 个答案:

答案 0 :(得分:0)

一种简单的方法是下载ELLCC的二进制版本。它带有预先构建的库,包括ncurses。下载页面为here。如果你抓住,例如http://ellcc.org/releases/ellcc-x86_64-linux-eng-0.1.27.tgz(版本号会随着时间的推移而改变),你可以解开它。对于ARM,您的构建行看起来像:

~/ellcc/bin/ecc -target arm-linux-engeabihf -g -Wall -c main.c -o main.o
~/ellcc/bin/ecc -target arm-linux-engeabihf -g -Wall main.o -o myApplication -lncurses

它会创建一个静态二进制文件,因此您不必担心共享库版本。