MAC OS X JAVA开发环境配置简述 增加mysql安装简述 附myeclipse10 for mac 破解版下载

破解版下载请参考Myeclipse 10 for mac 安装过程及myeclipse 10 for mac 破解版下载

刚整的pro所以研究半天把开发环境搭建好

1 首先jdk1.7:

转载:

-------------

  1. 首先呢,为了少出问题,先要让平台装一个java,Snow Leopard下还好(默认就有),Lion的话默认是没有安装任何jvm的,安装方法也很简单,终端下输入java或者启动任何需要用到java虚拟机的应用,就会自动触发Software Update安装jvm。

  2. 下载mac版专用的jdk1.7,地址如下:http://jdk7.java.net/macportpreview/,里面有最新版的(不过还是测试版),版本更新频率每两周大概会release一个build,我安装的版本是b223(更新一下,最新版本是b227了,已经不是OpenJDK了)。

  3. 下好之后,双击dmg打开,然后简单的来一个拖拽(这个就不废话了,不会拽的面壁去)。

  4. 改变jvm首选顺序,在Spotlight里搜索[Java Preferences](中文版应该是JAVA首选项么?),应该能看到已经有的几个虚拟机,把JAVA SE 7拖拽到最上面,就可以了(比如我拖拽的是64位版本的)。

  5. 确认java使用的版本:开一个终端,输入java -version,确认jvm的版本号是jdk1.7.0。

  6. 下面的操作是如何改变eclipse默认的jre,首先打开eclipse(如果你改了jvm的顺序,让1.7在最上面,又没在eclipse的配置里写死jvm的启动位置,那么应该就已经用jdk1.7启动了)。

  7. 打开首选项->Java->Installed JREs,看到右侧的JRE列表,如果已经使用是默认的jdk1.6的话,点Add,选择MacOS X VM,在路径的地方指向到jdk7的安装位置,就可以了。

  8. 话没说完,如果你找不到这该死的jdk1.7的安装位置在哪里,可以考虑粘下这个地址(这个是我系统里的位置,我猜测大家的都应该差不多哈)。/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

  9. 正确的话,下面会识别出一堆jar包位置,然后给这一坨jre起个帅气的名字。

  10. 如果想启用jdk1.7的语法,必须要eclipse版本在3.8/4.2以上(目前我写这篇博客的时候,4.2已经达到了Milestone4),然后可以在workspace/project属性里把编译等级调整到1.7,就能享受jdk1.7的语言特性了(不过前提是,使用的jdk以及jre必须都是jdk1.7以上才行)。

    -------------------------------

    2 配置java_home:

    在MAC中设置JAVA_HOME环境变量 

    环境变量要再etc目录下的profile文件中配置,这样才是永久的配置。 

    cd /etc 

    vi profile 

    按 i 键进入写模式

    输入如下内容: 

    JAVA_HOME=/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
    export JAVA_HOME

    写完后按 esc键退出写模式

    命令[:wq!]强制保存退出
    保存。然后重启或者注销,使环境变量的配置起作用。
    这样javahome的环境便令配置好了。 
    同样的道理,我们可以在profile这个文件中进行PATH,CALSSPATH等环境变量的配置。

    过程中出现的问题:

    E45: 'readonly' option is set (add ! to override)

    vi profile 用 sudo vi profile 执行,

    如果需要输入root密码,就输入root用户密码,如果不知道密码,需要重设。

    命令[sudo passwd root ]
    然后提示你输入当前登录用户密码,通过以后,提示你输入两遍root的密码。这样你就设置好root帐号密码了,可以用root来登录MacOS了。 

    ----------------------------------------------------
    3 安装tomcat:
    在Apache网站下载最新的Tomcat二进制编码包:(注意别下载了Windows的安装包)http://tomcat.apache.org/ 
    下载完后,解压,并将文件夹命名为Tomcat 
    将重命名的文件夹移动到根目录/Library中(别处也可),安装过程便完成了 
    执行/Library/Tomcat/bin下的startup.sh,然后打开http://localhost:8080查看是否Tomcat已经启动,若要停止服务器就运行同目录下的shutdown.sh 
    如果遇到诸如无法找到目录以及文件地问题,一般是因为文件权限造成地问题,可以如此解决: 

    sudo chmod 755 /Library/Tomcat/bin/*.sh 
    sudo chmod 755 /Library/Tomcat/bin/*.bat 

    遇见”JAVA_HOME not defined”JAVA路径未定义错误,在终端中执行以下命令: 

    sudo setenv JAVA_HOME /Library/Java/Home 

    配置Tomcat启动脚本: 

    使用文本编辑器添加以下代码: 

    #!/bin/bash 

    case $1 in 
    start) 
    sh /Library/Tomcat/bin/startup.sh 
    ;; 
    stop) 
    sh /Library/Tomcat/bin/shutdown.sh 
    ;; 
    restart) 
    sh /Library/Tomcat/bin/shutdown.sh 
    sh /Library/Tomcat/bin/startup.sh 
    ;; 
    *) 
    echo “Usage: start|stop|restart” 
    ;; 
    esac 

    exit 0 

    将文件保存为tomcat,小写并不带后缀。将这个文件放置到终端包含的路径中,例如/usr/bin,而后便可以在终端中简单地输入tomcat start和tomcat stop启用tomcat了。
    安装过程可能出现如下错误:
    startup.sh: command not found .
    命令前加上bash 或 sh 或 ./

    .代表当前目录,如果执行程序或脚本没有加入环境变量PATH,在当前目录时前面要加"./"

    在Terminal中执行tomcat命令会提示permission denied.
    需要赋权。sudo chmod 755 /usr/bin/tomcat

    ---------------------------------
    4 安装eclipse或者myeclipse

    这个就是下载安装,没什么问题,顺便说一句 myeclipse10.0很难下载,我最后下的是8.5
    ---------------------------------
    5 结束

    6 mysql安装见我的另一篇blog:         MAC下安装与配置MySQL         
    --------------------------------以下是mysql安装----------

<think>好的,我现在要解决用户在IAR编译器中遇到的错误:“incomplete type is not allowed”。首先,我需要理解这个错误的含义和常见原因。根据我的知识库,这个错误常发生在代码中使用了未完全定义的类型,比如结构体或联合体声明了但未定义,或者前向声明了某个类型但没有提供完整的定义。 首先,我应该检查用户代码中是否有结构体或联合体的声明但没有定义的情况。比如,如果有一个结构体声明为`struct MyStruct;`,但没有后续的完整定义,那么在需要该结构体大小或成员的地方,编译器就会报这个错误。这时候,需要用户补全结构体的定义,包括成员变量。 其次,检查是否在头文件中只声明了类型而没有包含定义。例如,如果在头文件中使用前向声明,但在使用该类型的源文件中没有包含实际的定义头文件,这也会导致错误。此时,需要确保在使用类型的地方包含了正确的头文件,或者将前向声明替换为完整的定义。 另外,还要考虑typedef的问题。如果用户使用了typedef创建别名,但原始类型未完全定义,同样会引发错误。例如,`typedef struct MyStruct MyType;`之后,如果尝试使用MyType但MyStruct尚未定义,就会出错。需要确保在使用typedef之前,原始类型已经被完整定义。 此外,数组声明中的类型不完整也是一个常见原因。比如声明数组时,如果元素类型未完全定义,编译器无法确定数组的大小,导致错误。需要检查数组声明中的类型是否已经完整定义。 可能还有其他情况,比如在C和C++混合编程时,如果没有正确使用extern "C",或者在头文件中遗漏了必要的包含,也可能导致类型不完整。需要用户检查这些方面。 接下来,我需要将这些可能的原因整理成清晰的解决步骤,并给出具体的代码示例,帮助用户理解如何修改。同时,根据用户提供的引用内容,虽然引用[1]和引用[2]是关于其他错误的,但用户可能希望看到类似的结构,即分点说明解决方案,并引用相关资源。 最后,生成相关问题,帮助用户进一步了解可能相关的编译错误,比如类型未定义、前向声明问题等。这样用户可以有更全面的认识,预防其他类似错误的发生。</think>### IAR编译器错误'incomplete type is not allowed'解决方案 该错误表示代码中使用了**未完全定义的类型**,编译器无法确定其内存布局或成员信息。以下是具体原因及解决方法: #### 1. 结构体/联合体未定义完整 若声明了结构体但未定义成员,在实例化时会报错: ```c struct MyStruct; // 前向声明不完整 struct MyStruct var; // 错误:使用未完成类型 ``` **解决方案**:补全类型定义 ```c struct MyStruct { int id; char name[20]; }; ``` #### 2. 头文件包含缺失 当跨文件使用类型时,需确保定义可见: ```c // file.h struct Data; // 前向声明 // file.c struct Data { // 实际定义 int value; }; ``` **解决方案**:在使用该类型的文件中包含定义头文件 ```c #include "file.c" // 包含实际定义 ``` #### 3. typedef别名问题 使用typedef时原始类型必须完整: ```c typedef struct Node NodeT; // 前向声明 NodeT* ptr; // 允许指针声明 NodeT instance; // 错误:不完整类型 ``` **解决方案**:先完成类型定义再typedef ```c struct Node { int data; struct Node* next; }; typedef struct Node NodeT; ``` #### 4. 数组声明不完整 数组元素类型必须完全定义: ```c struct Element; struct Element arr[10]; // 错误:元素类型未定义 ``` **解决方案**: ```c struct Element { int type; float value; }; struct Element arr[10]; // 合法 ``` #### 调试建议 1. 在IAR工程中搜索错误行号定位问题代码 2. 使用Go to Definition功能追踪类型定义 3. 检查所有头文件包含链 4. 确认没有循环依赖的头文件 编译器需要知道类型的完整信息才能: - 计算sizeof大小 - 分配内存空间 - 访问成员变量 - 进行类型对齐 [^1]: 类似类型转换错误可参考浮点转整型的类型适配问题。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值