我用.c文件创建了一个Xcode静态库项目,它可以正常工作。
我使用Xcode“new file”将包含Swift“func health_algo_test()”的新.swift文件添加到我的静态库中,但构建包含库的应用项目时无法找到health_algo_test(),并出现构建错误:
“在范围”中找不到“health_algo_test”。
视图控制器:
override func viewDidLoad()
{
health_algo_test() //!!!
. . .
}
interface.swift:
import Foundation
import UIKit
import os
func health_algo_test()
{
print("health_algo_test...")
}
通过运行nm显示.a的内容...........
lib的.a输出内容:'$ nm调试-iphoneos/库项目库. a|grep健康
00000000000000 T _$s33项目库16运行状况算法测试F
静态库项目................
1条答案
按热度按时间bf1o4zei1#
请记住将新文件添加到要包含它的任何目标。
在项目导航器(View-〉Navigators-〉Project)中选择文件,然后查看文件检查器(View-〉Inspectors-〉File),您将看到一个包含项目中所有目标列表的检查表;请确保您尝试构建的目标旁边有一个复选标记,表示新文件将包含在该目标中。
此外,由于您正在构建一个库,而调用
health_algo_test()
的代码在库之外,因此您需要将该函数(以及客户端应该能够调用的任何其他函数)标记为public
,例如: