使用的e2studio是2021年11月的版本
要在Renesas CC-RX中生成静态库项目并在其他项目中使用它,按照以下步骤操作:
- 选择File --> New --> Renesas C/C++ Project --> Renesas RX
- 在Templates for Renesas RX project窗口中,选择Renesas CC-RX C/C++ Library Project 项目,单击下一步继续
- 在项目详细信息页面上,输入静态lib项目的名称(例如lib),注意不能出现中文名称,所选的保存路径也不要出现有中文名称,然后单击下一步继续
- 在设备和工具选择页面中,选择与可执行项目相同的设备和工具链
选择 “New” -> “源文件”。在 “Source File” 对话框中输入函数的文件名,例如 “test.c”,然后点击 “Finish”。
选择 “New” -> “ Header File”。在 “ Header File” 对话框中输入函数的文件名,例如 “ test.h ”,然后点击 “Finish”。
示例代码如下:
test.c
int add(int a, int b)
{
return a + b;
}
int sub(int a, int b)
return a - b;
test.h
#ifndef TEST_H_
#define TEST_H_
int add(int a, int b);
int sub(int a, int b);
选择构建库(仅当选项已更改时) 如果选项发生了更改,或者用户显式地清理了项目,则将构建一个新的标准库
一般情况下,生成方式默认是这个,看具体情况进行相应的设置
(标准库的生成模式:
(1)、构建库(每次) 在每次构建过程中都会构建一个新的标准库。任何依赖文件也将被重新构建
②、构建库(仅当选项已更改时) 如果选项发生了更改,或者用户显式地清理了项目,则将构建一个新的标准库
③、使用现有的库文件 应该链接指定的文件,而不是自动生成的库文件
④、不添加库文件 标准库既不会生成也不会链接。
用户指定的库文件(-output):
①、如果不指定,将采用默认的路径方式
②、如果指定,将链接指定的文件,而不是自动生成的库文件。)
在别的项目中调用上述生成的库文件
- 打开需要调用库文件的项目工程,在该工程内的“src”目录下创建一个源代码文件夹,以存储第三方库的头文件include和链接的库文件
- 将第三方库提供的头文件复制到上一步骤中创建的文件夹中。在工程中包含第三方库的头文件,以便编写代码调用第三方库函数。
7.在这文件夹内,编写调用库文件函数的代码
选择 “New” -> “源文件”。
- 在 “Source File” 对话框中输入调用库函数的文件名,例如 “main.c”,然后点击 “Finish”。
- 在“main.c”
文件中编写调用静态库函数的代码,例如:
#include <stdio.h>
#include "test.h"
int main() {
int a = 10;
int b = 5;
int sum = add(a, b);
int diff = sub(a, b);
printf("Sum: %d, Diff: %d\n", sum, diff);
return 0;
①、在“C/C++ Build(C/C++构建)”项下的“Settings(设置)”页中选择“Tool Settings(工具设置)”选项卡
②、在工具设置中选择Compiler(编译器),点击 Source(源)选项,在右侧的Include file directories(-include)(包括文件目录),点击Add,添加相应的文件路径
③、在“C/C++ Build(C/C++构建)”项下的“Settings(设置)”页中选择“Tool Settings(工具设置)”选项卡
④、找到“C/C++ Linker(链接器)”选项,点击"Input(输入)"选项,将添加lib库路径添加到链接器中。
完成上述所有步骤后,进行编译下载调试。编译没有问题,但在调试过程中,将变量添加到监看式时读取不出来,报错有问题。我在网上搜了不少关于这个lib库的生成和调用的问题,也试了它们的方法,但都不正确,我不知道哪一步做错了,有点迷糊现在,恳请各位大佬赐教。
1, 新建一个库, 添加C和H文件, 生成lib
2. 把lib 和 H文件添加到工程里面去.
3. 在这里添加生成的用户lib
4 保存后, 重新编译.
你好,我按照步骤试了下,还是不行,还是说这样不能确定它能正确调用
你可以编译通过吗?
我测试没有问题,
这个库的.h文件添加到需要调用库的工程里面去,是用这个步骤吗?
之前是可以编译通过的,然后可以进行下载调试,现在整着整着,编译都不通过了
然后的.lib文件我知道怎么添加了,如果不添加这个头文件,它会报打不开头文件
生成lib的h文件, 和lib放在一起, 添加到工程里面去. 如果lib和h文件存放的文件夹不在include里面, 需要在编译器参数里面添加路径,
另外在调用的地方要包含h文件
另外你上面提供的c, 要注意, 不能是中文括号和中文标点符号,