This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CODECOMPOSER:链接链接文件夹中的库和路径中的空格时出错

Guru**** 2557960 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1006874/codecomposer-error-linking-libraries-in-linked-folder-with-spaces-in-path

器件型号:CODECOMPOSER

您好!

我将使用具有 SimpleLink MSP432P4 SDK 的 CCS 10。 我在路径中的空格有问题、请找到附加的示例工作区。/cfs-file/__key/communityserver-discussions-components-files/81/Folder-Space.zip

我的工作区位于一个文件夹中、其中包含一个名为"文件夹空间"的空间。

该文件夹包含 SimpleLink MSP432P4 SDK 中的空 TI-RTOS 示例项目以及包含代码和 IQmath 库的 src fodler

当我在工作区级别的 src 文件夹中放置一些库(示例中为 IQMath)、并将 src 文件夹作为链接文件夹添加到空工程时、链接器会由于名称中的空间而失败、无法找到尝试自动链接的.a 文件。 (参见下图)



但是、如果我将 IQmath 库放置在工程中的非链接文件夹中、则会正确编译 IQmath 库。

我转到"Project Properties"->"Resource"->"Linked Resources"->"Linked Resources"选项卡、并尝试了 src 字段"Location"的许多不同组合、放置了引号等、但我得到了相同的错误结果。

是否有方法指定此链接文件夹位置、以便它可以在名称中包含空格的文件夹中工作? (移除空间不是一个选项)

非常感谢、

Álvaro μ A

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Álvaro μ A、

    CCS 传递工程中库的方式(作为带有空格的链接文件)肯定会在此处看起来像一个错误。  不仅路径不是在空间中捕获的、我也看不到它前面的-l。  我将从您的捕获中看到我是否可以在我的机器上重现它、它确实看起来像一个错误。  让我感到有点惊讶的是、您能够让 tirtos_builds 项目进行编译、因为 xdctools 通常不喜欢它。

    您现在可以使用的一种权变措施是、通过右键单击这些库并将其排除在编译之外。

    然后在构建选项中指定要包含的库。

    在这里、我已将 IQmathLib.a 添加到要链接的库中:

    然后、我添加了库所在的路径。  IQmathLib.a 和 IQmathLib_CCS_MSP432.lib 都位于该文件夹中、其中包含空格。  因为它最终是真正相关的第二个。

    链接步骤如下所示:

    调用:ARM 链接器

    "/Users/a0792138/ti/ccs1031build5/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl /Users/a0792138/test /Users/a0792138/ti/simplelink_msp432p4_sdk_3_40_01_02/kernel/tirtos/packages -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --advice:power=none -g --diag_warning=225 --cmd_warning=255 --diag_support=off --display_error_number --gen_ips=on -z -m"-diag_export_iptos"-tex-out_export_iptex-out_ex-trats.tex-stat_content/rtos-out_ex-tex-out_content_content/rtos"-content_content/texport.trabouts.texport_ex-content_content/texport_content_export.trap_export.trap_export.trabouts.tos"-texport_ex-content_content/texport_content_export_content/texport.trabouts.texport_content_content_export.trap_export.trap_export.trap_export.trabout.trab./Users/a0792138/workspace_v10/tirtos_builds_MSP_EXP432P4111_release_ccs/Debug/configPkg/linker.cmd /syscfg/ti_drivers_config.obj /Users/a0792138/ti/ccs1031build5/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/lib /Users/a0792138/ti/simplelink_msp432p4_sdk_3_40_01_02/source  

    路径会自动得到正确引用。

     

    我使用的路径只是一个测试、但假设您的库仍在 SDK 中、您可以将路径设置为类似这样的路径、这样就不会直接使用绝对路径。

    此致、

    John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我无法在 Mac 上构建附加项目、但一位同事可以在 Windows 上重现并准确查看您看到的内容。  我提供的解决方法应该起作用。  我的同事将为您看到的问题提交缺陷、并使用跟踪 ID 回复。

    此致、

    John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我为此提交了一个错误。 跟踪 ID: https://sir.ext.ti.com/jira/browse/EXT_EP-10379

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 John:  

    非常感谢您的提示响应和解决方法、这正是我在未收到错误的情况下链接库的操作。

    我正在使用位置变量、它工作正常、因此我确认无需添加绝对路径:

    ${workspace_loc:/${ProjName}/src/Libs/IQmath/QmathLib_CCS_MSP432.lib}

    非常感谢所有团队的出色支持。

    我将跟踪错误并在项目准备就绪时更新它。

    此致、  

    Álvaro μ A

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Ki!