公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

就像标题所说的那样,是否有可能将一个包含部分顶级设计的Psoc Creator项目作为图书馆套件,而另一个项目使用这个项目? 我看到 Psoc 创建者允许在项目中使用依赖关系,但不知道如何有效地使用它。

TIA

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

蒂亚,

简短的答案是...是的。

您可以创建要共享的常用代码库。

Len_CONSULTRON_0-1699709566520.png

Len_CONSULTRON_1-1699709628090.png

在你的新项目中,你可以指向"依赖项中创建的库..."通过在 “"用户依赖关系” " 部分下的 " “"依赖关系” 窗口中选择 “文件夹” 图标。

Len_CONSULTRON_2-1699709680768.png

Len_CONSULTRON_3-1699709759674.png

此库方法允许您创建包含或不包含源文件 (.c) 的库。 (你还需要提供 .h 确保新项目知道如何引用库的函数和变量的文件。)

如果你与其他人共享库,这是防止以 C 形式暴露你的 IP 的方法。

 

在不指向自己的库的情况下共享常用代码的另一种方法是只包含存储常用文件的目录 (.h 和 .c) 位于项目的 “"其他包含目录” 中 "

Len_CONSULTRON_4-1699710245906.png

你可以通过在:"编译设置中添加目录来实现...\ ARM...\ 编译器\ 其他包含目录 "

 

我常用的第三种方法是,当我想添加常见的头文件和c文件时,我只是在创建项目时将它们直接包含在项目中。

Len_CONSULTRON_6-1699710602169.png

通过使用"头文件\ 添加\ 现有项目..."我看到一个可以打开的窗口,可以让我指向特定的 .h 我想包含的文件。 它允许多选。

你可以对"源文件\ 添加\ 现有项目执行同样的操作..."对于 .c 文件。

 

库方法非常有用,特别是当你不想在自己的可信环境之外共享源代码时。这对于防止可能更改共享代码也很有用。其他两种方法允许使用快速、有时过于简单的方法来共享代码。 (即。 修改此共享代码可能会 “中断” 其他共享模块的操作。)

 

在原帖中查看解决方案

0 点赞
4 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

蒂亚,

简短的答案是...是的。

您可以创建要共享的常用代码库。

Len_CONSULTRON_0-1699709566520.png

Len_CONSULTRON_1-1699709628090.png

在你的新项目中,你可以指向"依赖项中创建的库..."通过在 “"用户依赖关系” " 部分下的 " “"依赖关系” 窗口中选择 “文件夹” 图标。

Len_CONSULTRON_2-1699709680768.png

Len_CONSULTRON_3-1699709759674.png

此库方法允许您创建包含或不包含源文件 (.c) 的库。 (你还需要提供 .h 确保新项目知道如何引用库的函数和变量的文件。)

如果你与其他人共享库,这是防止以 C 形式暴露你的 IP 的方法。

 

在不指向自己的库的情况下共享常用代码的另一种方法是只包含存储常用文件的目录 (.h 和 .c) 位于项目的 “"其他包含目录” 中 "

Len_CONSULTRON_4-1699710245906.png

你可以通过在:"编译设置中添加目录来实现...\ ARM...\ 编译器\ 其他包含目录 "

 

我常用的第三种方法是,当我想添加常见的头文件和c文件时,我只是在创建项目时将它们直接包含在项目中。

Len_CONSULTRON_6-1699710602169.png

通过使用"头文件\ 添加\ 现有项目..."我看到一个可以打开的窗口,可以让我指向特定的 .h 我想包含的文件。 它允许多选。

你可以对"源文件\ 添加\ 现有项目执行同样的操作..."对于 .c 文件。

 

库方法非常有用,特别是当你不想在自己的可信环境之外共享源代码时。这对于防止可能更改共享代码也很有用。其他两种方法允许使用快速、有时过于简单的方法来共享代码。 (即。 修改此共享代码可能会 “中断” 其他共享模块的操作。)

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 Len,

非常感谢你的帮助!

那么对于库路径来说,它就像一个编译过的 " dll " 吗? 我正在使用第三种方法,但是如果源代码变大,很难进行有效的管理,我必须在 Creator 界面中添加所有库,除非我不打算修改任何内容,否则编译会包含在内。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

蒂亚,

库方法不是 dll 而是有点像 dll。 在库方法中,你可以附带源代码,也可以不附带源代码。

其他两种方法需要包括头文件和 c 源文件。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @User -159188
很高兴知道你的问题已经解决了。 🙂

你好 @Len_CONSULTRON
感谢您在我们的开发者社区中的分享和贡献。 🙂

那我可能会继续锁定这个讨论话题。
将来还有其他问题,请随时创建新话题。

谢谢你,问候,
穆罕默德·南达

0 点赞