我想从我的工作站(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应用程序?
答案 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
它会创建一个静态二进制文件,因此您不必担心共享库版本。