当我从Code Samples(Hello JIN)在Android Studio中打开一个新项目时,我遇到了错误.项目开启时如下:
Build command failed.
Error while executing process /opt/android-sdk/cmake/3.6.4111459/bin/cmake with arguments {-H/home/max/Documents/AndroidStudioProjects/HelloJNI1/app/src/main/cpp -B/home/max/Documents/AndroidStudioProjects/HelloJNI1/app/.externalNativeBuild/cmake/arm8Release/arm64-v8a -GAndroid Gradle - Ninja -DANDROID_ABI=arm64-v8a -DANDROID_NDK=/opt/android-sdk/ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/max/Documents/AndroidStudioProjects/HelloJNI1/app/build/intermediates/cmake/arm8/release/obj/arm64-v8a -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/opt/android-sdk/cmake/3.6.4111459/bin/ninja -DCMAKE_TOOLCHAIN_FILE=/opt/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-23 -DANDROID_TOOLCHAIN=clang}
-- Check for working C compiler: /opt/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-- Check for working C compiler: /opt/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- broken
-- Configuring incomplete, errors occurred!
See also "/home/max/Documents/AndroidStudioProjects/HelloJNI1/app/.externalNativeBuild/cmake/arm8Release/arm64-v8a/CMakeFiles/CMakeOutput.log".
See also "/home/max/Documents/AndroidStudioProjects/HelloJNI1/app/.externalNativeBuild/cmake/arm8Release/arm64-v8a/CMakeFiles/CMakeError.log".
CMake Error at /opt/android-sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler
"/opt/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang"
is not able to compile a simple test program.
It fails with the following output:
Change …
Run Code Online (Sandbox Code Playgroud) 源自我之前的问题:天之间的计算差异
我不想将函数应用于自定义数据结构的列表Item
。问题是我仍然不知道如何IO
正确处理,因此这是我的代码:
data Item = Item
{ name :: String
, expire :: Day
, stock :: Integer
, price :: Float
} deriving (Show)
totalLoss :: IO [Item] -> Float
totalLoss items = sum $ map loss items
loss :: Item -> Float
loss x = (price x) * fromIntegral (stock x)
Run Code Online (Sandbox Code Playgroud)
只是说,我不能得到公正,[Item]
所以我必须处理IO
适当的事情。但是无论如何我仍然会遇到这些错误:
• Couldn't match expected type ‘[IO Item]’
with actual type ‘IO [Item]’
• In the second argument …
Run Code Online (Sandbox Code Playgroud) 我的作业有问题,必须写一个行为类似于的程序wc
。我当前的方法如下:
import qualified Data.ByteString as BS
import qualified Data.ByteString.UTF8 as UTF8
numBytesUtf8 :: String -> Int
numBytesUtf8 = BS.length . UTF8.fromString
help = "Wrong number or wrong arguments provided.\n\
\Possible arguments are: [l, w, c, b, ll]\n\n\
\options:\n\
\ -l -> Return line count\n\
\ -w -> Return word count\n\
\ -c -> Return character count\n\
\ -b -> Return byte count\n\
\ -ll -> Return character count of the longest line"
getLongestLine l r
| r == …
Run Code Online (Sandbox Code Playgroud) 有人将如何将的地图转换ByteString:ByteString
为地图String:String
?我尝试了以下方法:
import qualified Data.Map as Map
import Data.ByteString.UTF8 as BSU
type Key = ByteString
type Valye = ByteString
type DB = Map.Map Key Valye
printMap :: IO ()
printMap = do
-- db exists to this point and is of type DB
mapM_ putStrLn $ Map.map BSU.toString db
Run Code Online (Sandbox Code Playgroud)
这将导致可打印的值,但仅打印我的值而不打印我的键...我知道也Map.mapKeys
可以给我键,但是我如何同时获得它们和打印它们呢?
k0: v0
k1: v1
k2: v2
Run Code Online (Sandbox Code Playgroud)