C#でAES暗号化していた処理をC++でも利用するために変換を試みているのですが、Crypto++ライブラリを使っての実装ができません。
暗号化はできているようなのですが、結果が異なってしまいます。

ブロックサイズとキーサイズの指定が怪しいと考えているのですが、どこが要因かわかる方ご教授願えますでしょうか。

C# Code

const string AesIV = @"1234567890123456";
const string AesKey = @"ABCDEFGHIJKLMNOP";
string strText = "暗号化テスト";

AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
aes.BlockSize = 128;
aes.KeySize = 128;
aes.IV = Encoding.UTF8.GetBytes(AesIV);
aes.Key = Encoding.UTF8.GetBytes(AesKey);
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
byte[] byteText = Encoding.UTF8.GetBytes(strText);

byte[] encryptText = aes.CreateEncryptor().TransformFinalBlock(byteText, 0, byteText.Length);

C++ Code (Crypto++利用)

std::string strKey("1234567890123456");
std::string strIV("ABCDEFGHIJKLMNOP");
std::string strText = "暗号化テスト";

std::string stEncryptText;

CryptoPP::AES::Encryption aesEncryption((CryptoPP::byte*)strKey.c_str(), CryptoPP::AES::DEFAULT_KEYLENGTH);
CryptoPP::CBC_Mode_ExternalCipher::Encryption cbcEncryption(aesEncryption, (CryptoPP::byte*)strIV.c_str());

CryptoPP::StreamTransformationFilter stfEncryptor(cbcEncryption, new CryptoPP::StringSink(stEncryptText), CryptoPP::BlockPaddingSchemeDef::PKCS_PADDING);
stfEncryptor.Put(reinterpret_cast<const unsigned char*>(strText.c_str()), strText.length());
stfEncryptor.MessageEnd();