A. mac编译java时生成class文件但运行时显示找不到或无法加载主类
packagea.b.c;
publicclassD{
publicstaticvoidmain(String[]args){
System.out.println("HelloWorld");
}
}
如上的代码,运行的时候,必须运行 java a.b.c.D
而且,JAVA文件必须在package标识的相应目录中。比如说
E:acD.java
那编译后,我必须在E:这个目录下运行java a.b.c.D
B. 请问,在苹果mac操作系统下用Xcode写的程序如何编译成.exe程序
你需要一个交叉编译环境,但是这样做比较麻烦,不如退一步在mac中安装windows,在windows中编译exe
C. 苹果MAC系统怎么编译C语言
在 Mac OS X 下学习C语言使用 Xcode。
在 Xcode 上运行C语言程序需要先创建工程,再在工程中添加源代码。
1、 打开 Xcode,选择“Create a new Xcode project”创建一个新工程,如下图所示:
左侧是工程目录,主要包含了工程所用到的文件和资源。单击“main.c”,即可进入代码编辑模
式,这里 Xcode 已经为我们创建好了一个“Hello World”小程序。点击上方的“运行”按钮,即
可在右下角的选项卡中看到输出结果。
拓展资料
Xcode是由Apple官方开发的IDE,支持C、C 、 Objective-C、Swift等,可以用来开发 Mac OS X 和 iOS上的应用程序。Xcode最初使用GCC作为 编译器,后来由于GCC的不配合,改用LLVM。
D. MACBOOK上怎么把Python3.5写的程序编译成EXE
不行。exe是Windows上的执行文件,必须用Windows编译。
就像Windows系统开发不了iOS软件。
E. MAC上编译运行C文件的方法
以自己随便新建的main.c文件为例子
1.使用cc -c main.c 编译
2.使用cc main.o 来链接并生成可执行的.o文件
3.使用./a.out命令来执行最后生成的可执行文件a.out(运行使用./)
F. 如何用Mac完美编译OpenJDK 7
1.选择OS X版本很重要。
目前这里Mac版本是10.10,配置好必要信息以后就开始编,结果错误满屏。简单看过之后发现是编译C文件的时候参数有误,于是查了一下,才知道是LLVM版本太新,不兼容低版本的一些编译参数。照着上面改了点代码,但是依旧编译不过。既然高版本不行,就装个低版本的呗。由于最新的OS X不能装低版本的Xcode(装了Xcode才能装LLVM),所以去下了一个10.8的OS X装在虚拟机里,然后再装个Xcode4.4。
装好Xcode以后,要手动下载LLVM安装。打开Xcode,随便建立一个空项目,然后打开Preferences,找到如下所示的地方开始安装
第一步咱就这么搞定了。
2.安装X11
X11这玩意是unix类os使用的图形系统,10.8以前的OS X是自带的,但是从此以后就不自带了。对应于Mac,你需要装XQuartz,这个没有版本限制,去网上下最新版即可。装这个的原因是当时在编译PolicyTools的时候出现了如下错误:
ld: library not found for -lX11
安装以后要为X11建立软连接
sudo ln -s /usr/X11/include/X11 /usr/include/X11
3.安装freetype
在linux下编译openjdk的朋友可能遇到过需要安装freetype的要求,然后安装下并将安装目录加到环境变量里就好了。但是OS X不一样,freetype单独安装实际是没用的。虽然单独安装能让编译前的检查通过,但是到后面还是会出错,至于原因我没找到。那怎么办呢?实际上如果安装好X11,freetype就一起安装好了,大家可以去X11的目录里看看是否有freetype。
虽然说安装了X11就自带freetype,但是编译过程中可能会出现如下错误:
error: freetype/config/ftheader.h: No such file or directory
实际上就是目录问题,执行下面这句命令就好了:
sudo ln -s /sr/X11/include/freetype2/freetype/ /usr/X11/include/freetype
4. 配置环境变量
和在Linux下编译相比,OS X的环境变量配置相对来说简单很多。只需要配置编译需要的jdk和llvm的目录就可以了。
因为很多源代码都是用本机现有的jdk来编译,所以预装一个低版本的jdk是必须的,这里我们需要安装jdk6。安装好以后,找到其安装目录,并添加如下环境变量:
[plain] view plain
export ALT_BOOTDIR=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
通常来说安装目录都应该在/System/Library/Java/JavaVirtualMachines目录下。如果不在的话,有个技巧可以找到。因为安装好jdk以后,系统会自动在/usr/bin下建立指向java命令的软连接,所以执行“ls -l /usr/bin/java”就能看到这个命令指向哪,然后这么顺着找下去就能找到。
llvm是编译C类文件所必须的,所以要把它的所在目录添加到环境变量里。通常OS X下安装app都会把app移到Applications目录下,所以我最初安装Xcode的时候也把他移进去了,如果你把Xcode放在了别的目录,那就找到对应的目录即可。
[plain] view plain
export ALT_COMPILER_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin
5.获取编译源码
按照这上面的第三点获取源代码 如果没有装hg的需要自行安装
到现在为止,编译前的准备工作已经完成。我们可以先执行make sanity执行下编译前的检查。如果检查通过,先来看看具体的编译命令:
[plain] view plain
make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=false ALWAYS_PASS_TEST_GAMMA=true HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
这里有两个问题:
a. ALLOW_DOWNLOADS=true表示编译过程中允许下载。因为有些编译模块,比如jaxp,编译脚本中指定了需要下载特定的包。虽然我没试过设置成false会不会影响编译,但是还是推荐设置成true。但是这就带来另一个问题,下载这类包很费时间,有时候就会在那卡很长时间,所以我根据编译日志找到编译脚本中控制下载的具体命令,修改修改并且把用迅雷下的对应包放到正确目录中,然后重新编译一遍,就能顺利通过了。这一点后面我会详说。
b. SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=false这两个表示编译出来的jdk或者hotspot是否可以debug。FASTDEBUG表示的应该是提供简单的debug功能,如果想要完整的debug,则SKIP_DEBUG_BUILD必须设置为false。不过这里提醒一点,如果想在debug jdk的时候能看到debug信息,比如变量名等,只需要SKIP_FASTDEBUG_BUILD设置为false就可以了
如果这两个问题都不是问题,那么就可以按回车了。如果debug和fastdebug都是false,再加上用虚拟机编译,所以需要的时间会比较长,你也许需要找一部长一点的电影来消磨一下了。最后编译出来的结果是这样的:
j2sdk-image就是自己编译出来的jdk,可以直接用了。至于其他目录下的内容,各位自己琢磨吧。
现在来说下ALLOW_DOWNLOADS=true引起的问题。
但是遇到下载很久的包总共有三个:
jaxp145_01.zip、jdk7-jaf-2010_08_19.zip、jdk7-jaxws2_2_4-b03-2011_05_27.zip
之前说过可以修改编译脚本跳过下载并且用我们已经下载好的,但是实际编译过程中,这三个包对应的的编译脚本是动态生成的,所以只能等到他卡在那了,才能停下来并找到脚本修改之。因此因为这三个包,总共需要停3次。,比起一直卡在那好太多了。
假设编译的是普通版本,即非DEBUG和非FASTDEBUG。下面以jaxp145_01.zip为例子讲一下怎么修改对应脚本:
脚本所在位置:openjdk根目录/build/macosx-universal/jaxp/build/xml_generated/build-drop-jaxp_src.xml
G. 如何在Mac下编译C++文件为可执行文件
使用vim新建一个c++程序文件,例如test.cpp
编辑你的c++代码,然后保存退出
使用g++命令来编译c++程序,如果编译成功,则没有任何提示,如果失败,会出现程序错误的提示
直接执行刚刚编译的c++程序
H. Mac平台 使用CMake编译iOS lib
前言
在mac电脑上,可以通过手动创建XCode工程的方式,来实现iOS lib的编译,但这种方式存在一个很明显的缺点,在需要指定编译文件的情况下,比较麻烦~CMake编译脚本完美的解决了这个问题,可以指定特定的文件参与编译
xcode https://developer.apple.com/xcode/download
cmake OS X版本 https://cmake.org/download
默认情况 cmake 命令行可能用不了,需要命令行中输入以下指令
具体可参考 CMake Mac下安装
ios.toolchain.cmake https://github.com/leetal/ios-cmake/releases
README文件中有工具链的使用方式
ios.toolchain.cmake 工具链Demo中提供的CMakeLists,可以根据实际情况做下修改。
cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64
指令指定了CMakeLists、工具链的位置及编译架构,会生成一个XCode工程。其中.. 表示CMakeLists文件在当前目录的上一个文件夹中,../表示上一个文件夹,../../表示上两个文件夹
I. 如何在mac上进行编译对方是什么都不知道的mac用户,我要发给他.cpp文件 他该如何运行
mac实际是linux的变体,如果你的程序没有界面你的话,直接用mac上的命令行实用g++进行编译即可
J. 苹果mac系统下的c语言编译器有支持生成win系统EXE文件的吗
当然可以。
MAC系统是free-bsd(unix的一种开源系统分支)为基础,逐步演化而来的。
实际MAC也是属于UNIX大家族。只要安装了c的编译器,就可以用C编程。
当然在mac上,苹果以object-c提供了一套丰富的api,包括对其图形界面的互动。所以iphone应用才都用object-c编写。
如果你用c想开发mac上和window互动的应用,那么必须调用MAC window的相关API了。至于苹果提不提供其window下的图形api的C接口,呵呵那是另外一个问题。
这点我好像没见过,不敢说一定没有。
当然如果用其他mac支持的图形库开发应用也可以,只是和window互动的功能有些可能就没有了。