OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4558|回复: 6

[XILINX] XILINX SDK怎么在工程添加源文件

[复制链接]

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2015-12-20
在线时间
24 小时
发表于 2022-4-16 18:26:30 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 dddggg 于 2022-4-16 20:08 编辑

第一章HELLO WORLD,直接编译和运行是成功的。
#include"ttt.h"//包含同目录下H文件
int main()
{
//test();   //C文件增加空函数
    while(1)
    {
            sleep( PRT_DELAY  );   //H文件增加宏定义

        print("Hello World\n\r");
    }
    return 0;
}


在工程右键NEW一个H文件,在文件里DEFIEN 一个值,在MAIN里面使用这个DEFIEN值,可以编译通过。

在工程右键NEW一个C文件,在文件里添加一个test()空函数,在H文件声明了test, 在MAIN调用这个TEST空函数,出错。 helloworld.c.text.startup+0xc): undefined reference to `test'

故意在C里面弄语法错误,编译信息没有任何变化。可以断定C文件根本没有参与编译。
vivado版本 2018.3  

2022-04-16_200517.jpg




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2015-12-20
在线时间
24 小时
 楼主| 发表于 2022-4-16 21:44:10 | 显示全部楼层
让人崩溃,搞了一天,是SDK文件,重新再另一台电脑安装就没这个问题。
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2015-12-20
在线时间
24 小时
 楼主| 发表于 2022-4-16 21:44:53 | 显示全部楼层
让人崩溃 是软件问题,折腾了一天。  新找电脑安装就没这个问题。  看来要重装。
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2015-12-20
在线时间
24 小时
 楼主| 发表于 2022-4-17 16:28:25 | 显示全部楼层
感觉智商受到了侮辱,还反复重装了两次VIVADO,  最后确认H文件可以随便往工程里加,C文件不行。  这个破事情弄了两天还只是发现问题,没找到原因。
具体情况是:自己COPY进来的C文件不行在工程右键NEW->C文件也不行,只有将helloword.c复制一份再改名才行。   不行的情况是编译器完全忽略了C的存在,根本不编译它。

测试如下附件,里面有好几个TEST_XXX.C文件,内容都一模一样,几个数字+中文,正常情况下编译显然会语法报错的。   
测试方法:将压缩包里的几个C文件拷贝到第一章HELLO工程的src目录,与helloworld.c放在一起,刷新工程,CLEAR重新编译。  最后只有其中一个C文件会报语法错误,另外几个C文件不会报错!


大佬们救急啊,这个是什么情况。

添加新的源码.zip (904 Bytes, 下载次数: 3)
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2015-12-20
在线时间
24 小时
 楼主| 发表于 2022-4-17 16:34:10 | 显示全部楼层
也可以测试分别用new->c  创建C文件并且在文件中乱敲几个字符    用另存helloworld.c重命名并乱敲几个字符       重新编译只有helloworld.c另存的C会报错。  自己创建的被无视了。

找了另一台电脑安装VIVADO,情况一模一样。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2022-4-17 23:20:53 | 显示全部楼层
dddggg 发表于 2022-4-17 16:34
也可以测试分别用new->c  创建C文件并且在文件中乱敲几个字符    用另存helloworld.c重命名并乱敲几个字符  ...

联系下我们淘宝技术支持看看
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2022-4-18 09:01:09 | 显示全部楼层
我们教程里面是创建一个空的工程,然后创建一个新的.c文件,在里面编写自己的代码,是可以的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-10-4 00:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表