oc-请大神看看 这是哪里出的毛病 刚刚学OC 跟视频里的代码一样 为啥我这个总是报错啊?

问题描述

请大神看看 这是哪里出的毛病 刚刚学OC 跟视频里的代码一样 为啥我这个总是报错啊?

这是xcode6.3里的代码:

#import

int main()

{

NSlog(@"第一个OC程序!!!");

return 0;

}

用Mac 自带的终端编译后:
zhuxunandeMac-mini:OC语言程序 shukyokunan$ cc -c 第一个OC程序.m

第一个OC程序.m:5:5: warning: implicit declaration of function 'NSlog' is

  invalid in C99 [-Wimplicit-function-declaration]

NSlog(@"第一个OC程序!!!");

^

1 warning generated.

zhuxunandeMac-mini:OC语言程序 shukyokunan$ cc 第一个OC程序.o -framework Foundation

Undefined symbols for architecture x86_64:

"_NSlog", referenced from:

  _main in 第一个OC程序.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

zhuxunandeMac-mini:OC语言程序 shukyokunan$
总是报错

解决方案

你的变量都没问题么,它说你的链接标记错的

解决方案二:

你创建工程的时候创建错了,NSLog是OC中的代码,这是c工程的界面,OC是C的超集,OC中可以用C的代码,而C的工程并不认识NSLog

解决方案三:

工程创建错了,你创建的是C语言的工程,OC是C的超集,OC中可以用C,而C并不认识OC的代码,所以他不知道NSLog是什么

解决方案四:

错误意思大概是:不清楚函数NSLog是什么

时间: 2024-09-08 15:23:16

oc-请大神看看 这是哪里出的毛病 刚刚学OC 跟视频里的代码一样 为啥我这个总是报错啊?的相关文章

读文件 infile-在读文件infile的时候出现的问题 请大神看看啊 困扰两天了。。。。。。。。

问题描述 在读文件infile的时候出现的问题 请大神看看啊 困扰两天了........ 代码如下,编译的时候不会出错,但是点击按钮就会死程序,注释掉bianhuanbianliang也就是消息响应函数倒数第二行的时候不会出错,这个函数中只有存在infile>就会在void* CMapPtrToPtr::GetValueAt(void* key) const这个函数里出错!这是什么函数?求解释啊 void CControlPane::OnBnClickedCamcalib() { // TODO

java基础-菜鸟虚心求教,请大神告知

问题描述 菜鸟虚心求教,请大神告知 我在北京传智播客培训,基础班还有两天就上完了,已经报半个月后的就业办,想问一下大神们:我基础上的迷迷糊糊的,逻辑思维不是很流畅,代码能看懂,如果自己打的话,得很多遍才能打下来,上就业班会不会压力很大?求大神给我这菜鸟些建议,不胜感激. 解决方案 都是菜鸟过来的,你遇到的问题刚接触的都遇到过,担心是没有用的,重要的是努力 解决方案二: 多看看基础,看别人的项目 解决方案三: 别担心.见到的代码多了就好了,自己也要多写. 解决方案四: 老话说的好,孰能生巧.刚开始

用c++写了一个函数判断一个数组是否包含另一个数组 但是总是返回-1 请大神们帮忙看看错在哪里

问题描述 用c++写了一个函数判断一个数组是否包含另一个数组 但是总是返回-1 请大神们帮忙看看错在哪里 int substr_index( const char substr[], const char str[]) { int flag = -1; int sizeOfSubstr = sizeof(substr)/sizeof(char); int sizeOfStr = sizeof(str)/sizeof(char); for (int i = 0; i < sizeOfStr; i+

图片-今天打开eclipse,就出现这种情况,请大神指点!!!

问题描述 今天打开eclipse,就出现这种情况,请大神指点!!! 解决方案 首先,不建议安装到中文目录下.可能是这2种情况导致的: 1.环境变量没配置2.eclipse和jdk版本位数不一致要同是32位或者64位(注意32位机子只能使用32位的64位可以兼容使用32位和64位的) 解决办法:1.配置环境变量: 第一步:右键"我的电脑"点击"属性" 第二步:点击"高级系统设置"点击"环境变量(N)" 第三步: 在"系

menu-菜鸟请大神指教,关于在fragment中加入vierpager的问题

问题描述 菜鸟请大神指教,关于在fragment中加入vierpager的问题 package com.yanis.yc_ui_fragment_menu; import java.util.ArrayList; import java.util.List; import com.health.Circle; import com.health.Information; import com.health.Market; import android.os.Bundle; import andr

关于java越界的问题。。。。请大神解答

问题描述 关于java越界的问题....请大神解答 public class Solution { public String getHint(String secret, String guess) { int bulls=0; int cows=0; char[] sec = secret.toCharArray(); char[] gue = guess.toCharArray(); int[] s=new int[10]; int[] g=new int[10]; for(int i=0

系统调用-请大神推荐书籍:关于C++调用外部程序的书籍

问题描述 请大神推荐书籍:关于C++调用外部程序的书籍 现在我想用C++调用外部函数,应用程序,和系统程序 本人看的书不多,求有系统详细讲解这方面相关知识的书籍推荐,最好是基于Linux环境的,比如:调用系统安装的其它程序,我想系统地学习这方面的知识,求推荐书籍 请大神指教,谢谢啦 解决方案 本质上你说的其实是linux下常见的命令行.不同的linux发行版不同.比如rs系,一般通过yum安装,Ubuntu用apt-get.你可以看对应的Linux手册.<鸟哥的Linux私房菜>是一本比较经典

服务器-oracel 数据库和客户端的问题,请大神帮忙看看

问题描述 oracel 数据库和客户端的问题,请大神帮忙看看 数据库安装的是oracle 10g,公司服务器的一个应用程序以前通过oracle10的客户端(ODBC的形式)去访问,但因为某种原因需要将客户端升级为11,不过服务器上现在有两个11的客户端,一个没有卸载工具的,一个是正常的完整版,但是现在能够连通数据库,就是时不时进入网站后,网页只显示一部分,但无法登陆进入网站的这个应用程序,可能是访问不到数据库,需要重启服务器上的IIS才能恢复.代码什么的都没动过,和之前相比只是升级了oracle

drawpath-只有20行代码!请大神帮忙看看,为什么drawPath( )会失效,但drawCircle( )却管用

问题描述 只有20行代码!请大神帮忙看看,为什么drawPath( )会失效,但drawCircle( )却管用 public class Hehe extends View { Path p; Paint p1; public Hehe(Context context AttributeSet attrs) { super(context attrs); // TODO Auto-generated constructor stub p=new Path();//定义一个路径 p.moveTo