Я следовал этому Уроку , чтобы создать библиотеку dylib с использованием Xcode.Я также следовал инструкциям в Вызов функций dylib в Office для Mac VBA .В первом уроке неясно, где находится скомпилированная библиотека, поэтому я переместил файл .dylib из каталога / Build / Products / Debug / в Macintosh HD: Пользователи: [Пользователь]: Библиотека: Group Containers: UBF8T346G9.Office, поэтому мой код vba:
Option Explicit
Private Declare PtrSafe Function myAdd Lib "Users:[user]:Library:Group Containers:UBF8T346G9.Office:libcanaimalibc.dylib" Alias "_Z3addii" (ByVal a As Integer, ByVal b As Integer) As Integer
Private Declare PtrSafe Function myDivide Lib "Users:[user]:Library:Group Containers:UBF8T346G9.Office:libcanaimalibc.dylib" Alias "_Z6dividedd" (ByVal a As Integer, ByVal b As Integer) As Integer
Private Declare PtrSafe Function myMultiply Lib "Users:[user]:Library:Group Containers:UBF8T346G9.Office:libcanaimalibc.dylib" Alias "_Z8multiplyii" (ByVal a As Integer, ByVal b As Integer) As Integer
Private Declare PtrSafe Function mySubtract Lib "Users:[user]:Library:Group Containers:UBF8T346G9.Office:libcanaimalibc.dylib" Alias "_Z8subtractii" (ByVal a As Integer, ByVal b As Integer) As Integer
Function Addition(a As Integer, b As Integer) As Integer
Addition = myAdd(a, b)
End Function
Function Subtract(a As Integer, b As Integer) As Integer
Subtract = mySubtract(a, b)
End Function
Function Multiply(a As Integer, b As Integer) As Integer
Multiply = myMultiply(a, b)
End Function
Function Divide(a As Double, b As Double) As Double
Divide = myDivide(a, b)
End Function
Когда я проверяю
?При сложении (2,3)
в промежуточном окне я получаю сообщение об ошибке: