我是CMake的新手,我正在尝试为现有项目创建CMake,该项目必须在多台Linux和Windows机器上交叉编译ARM代码,因此不能选择硬编码方式进行编译。 到目前为止,编译器的路径已添加到每个用户路径,因此您只需从控制台调用armcc即可执行正确的编译器版本。 我还没有找到一种方法来指定我尝试过的CMake中的编译器:
protected void btnFileDelete_Click(object sender, EventArgs e)
{
//Get the button that raised the event
Button btn = (Button)sender;
//Get the row that contains this button
GridViewRow gvr = (GridViewRow)btn.NamingContainer;
//Get the Real File Name
HiddenField hdnDataId = (HiddenField)gvr.FindControl("hdnRealFileName");
string theFileName = hdnDataId.Value;
//Download the file
deleteFile(theFileName);
}
-返回:CMAKE_C_COMPILER:
armcc不是完整路径,因此在PATH中找不到。function [reminder] = mod2div(divident, divisor)
% Number of bits to be XORed at a time
pick = size(divisor, 2);
tmp = divident(1 : pick);
while pick < size(divident,2)
if int2str(tmp(1)) == '1'
tmp = bitxor(divisor, tmp);
tmp = [tmp,divident(pick)];
else
mi=uint8(zeros(1,pick));
tmp = bitxor(mi, tmp) ;
tmp = [tmp,divident(pick)];
end
pick = pick + 1;
end
if int2str(tmp(1)) == '1'
tmp = bitxor(divisor, tmp);
else
mi=zeros(1,pick);
tmp = bitxor(mi, tmp) ;
end
reminder = tmp ;
end
-它总是返回
/ usr / bin / cc 我确定第一条消息不正确,因为armcc的路径在PATH变量中。我正在使用cmake版本3.6.2。
答案 0 :(得分:1)
这在CMake FAQ中有详细说明:
对于C和C ++,设置CC
和CXX
环境变量。这个方法
不能保证适用于所有发电机。 (具体来说,如果您是
尝试设置Xcode的GCC_VERSION
,此方法会混淆Xcode。)
例如:
CC=gcc-4.2 cmake -G "Your Generator" path/to/your/source
cmake -D
将适当的CMAKE_FOO_COMPILER
变量设置为有效的编译器
命令行上使用cmake -D
的名称或完整路径。
例如:
cmake -G "Your Generator" -D CMAKE_C_COMPILER=gcc-4.2 path/to/your/source
set()
将适当的CMAKE_FOO_COMPILER
变量设置为有效的编译器
列表文件中使用set()
的名称或完整路径。这必须做
在设置任何语言之前(即在任何project()
之前或
enable_language()
命令。
例如:
set(CMAKE_C_COMPILER "gcc-4.2")
project("YourProjectName")
我的猜测是,由于您未提供任何代码且未阅读手册,因此您尝试在设置语言后尝试设置编译器。
出于您的目的,我将接受CMake的建议,并使用方法1或方法2,因为您不想对路径进行硬编码。