会
.swiftmodule描述Swift模块的接口,但其中不包含模块的实现。仍需要一个库或一组目标文件来链接您的应用程序。这是makefile的修改版本,可同时创建libhello.dylib和hello.swiftmodule并针对它们构建应用程序:
PWD=$(shell pwd)APP_NAME=mainMODULE_NAME=helloLIB_NAME=lib$(MODULE_NAME).dylibLIB_PATH=$(PWD)/$(LIB_NAME)SWIFT_MODULE_PATH=$(PWD)/$(MODULE_NAME).swiftmodulemain : clean xcrun swift -emit-library -o $(LIB_PATH) -Xlinker -install_name -Xlinker @rpath/$(LIB_NAME) -emit-module -emit-module-path $(SWIFT_MODULE_PATH) -module-name $(MODULE_NAME) -module-link-name $(MODULE_NAME) -v $(MODULE_NAME).swift xcrun swift $(APP_NAME).swift -o $(APP_NAME) -I $(PWD) -L $(PWD) -Xlinker -rpath -Xlinker @executable_path/ -vclean : rm -rf $(APP_NAME) $(LIB_NAME) $(MODULE_NAME).swiftmodule $(MODULE_NAME).swiftdoc
在没有文档的情况下,我不能说这是完全正确的,但是可以。
请注意,如果您只是想在您的应用程序模块中使用多个源文件,则这要简单得多,并且不需要
import在main.swift中声明或进行模块限定:
swift -o main hello.swift main.swift
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)